#大创学习笔记#part1宫颈癌细胞图像分割——直方图最亮谷底阈值确定法提取细胞前景(2)

今天终于开学了,也意味着我终于能够静下心去做大创的项目,汲取新的知识。
数字图像处理作为专业选修课,学分重,任务多。但是我也从中了解到了更多关于图像处理的知识,内心也充满激动,哈哈哈,怕是上课的时候在窃喜:不仅学会了原理,更是早就掌握了实现的方法。废话不多说,继续上次的项目。

直方图最亮谷底阈值确定法提取细胞前景步骤

  1. 计算灰度图像的直方图;
  2. 高斯平滑直方图;
  3. 归一化直方图;
  4. 首先找到最后一个波峰,并将其对应的灰度值记为 k ;
  5. 如果 p(k -1) <p(k) <p(k +1) ,即 p(k) 是个极小值点,转 6;否则转 7;
  6. 如果 p(k) <max ,则 max =p(k) ,T =k ,转 7;否则转 8;
  7. k =k -1,转 5;
  8. 直方图最亮谷底阈值确定算法结束。
    花了一晚上终于把循环做出来了,也不知道对不对,while,for,if循环让人头大,我的代码水平可能连小学生都打不过吧。以下是实现代码:
x=imread('5.2.bmp');
y=rgb2gray(x);%灰度处理
h= fspecial('gaussian',3*3,0.5);
filteredRGB=imfilter(y,h);
[m,n]=size(filteredRGB);
[cnts,x1]=imhist(filteredRGB,32);%直方图
prob=cnts/m/n;
stem(x1,prob)%归一化直方图显示
c=findpeaks(prob);  
IndMin=find(diff(sign(diff(prob)))>0)+1; %获得局部最小值的位置
IndMax=find(diff(sign(diff(prob)))<0)+1;%获得局部最大值的位置  
figure; hold on; box on;  
plot(1:length(prob),prob);   
plot(IndMin,prob(IndMin),'r^')  
plot(IndMax,prob(IndMax),'k*');
legend('曲线','波峰点');
len=length(IndMax(:));
lastpeak=IndMax(len);%最后一个波峰所对应的灰度级/灰度值 k
lastpeakfrequency=prob(lastpeak);%最后一个波峰所对应灰度级的频率/值 p(k)
max=1;
while lastpeak~=1
if  prob(lastpeak-1)<prob(lastpeak)<prob(lastpeak+1)
    if lastpeakfrequency<max
        max=prob(lastpeak);
        T=lastpeak;
        lastpeak=lastpeak-1;
    else break
    end
    else lastpeak=lastpeak-1;
end
    end

结果显示:
在这里插入图片描述
找到的阈值为23,也是细胞质区域和背景之间的分界点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值