数字图像处理 阈值分割
2011-12-07 16:12
309 查看
一.实验题目
参照下图实现对指纹图像的基本全局阈值分割。
二.实验分析
计算基本全局阈值算法思想如下:
① 选择一个T的初始估计值②用T分割图像,生成两组像素:G1由所有灰度值大
于T的像素组成,而G2由所有灰度值小于或等于T的像素组成
③ 对区域G1和G2中的所有像素计算平均灰度值µ1和µ2
④ 计算新的阈值⑤重复步骤②到④,直到逐次迭代所得的T值之差小于事先定义的参数T0
求出阈值T1后,将原图像中小于T1的赋值为0,否则赋值为1,显示该图像即可。
三.实验程序
参照下图实现对指纹图像的基本全局阈值分割。
二.实验分析
计算基本全局阈值算法思想如下:
① 选择一个T的初始估计值②用T分割图像,生成两组像素:G1由所有灰度值大
于T的像素组成,而G2由所有灰度值小于或等于T的像素组成
③ 对区域G1和G2中的所有像素计算平均灰度值µ1和µ2
④ 计算新的阈值⑤重复步骤②到④,直到逐次迭代所得的T值之差小于事先定义的参数T0
求出阈值T1后,将原图像中小于T1的赋值为0,否则赋值为1,显示该图像即可。
三.实验程序
I=imread('images_chapter_10\Fig10.29(a).jpg'); subplot(2,2,1);imshow(I);title('原图'); subplot(2,2,2);imhist(I);title('原图的直方图'); % I=double(I); %T 建议初始化为图像中最大强度值和最小亮度值的平均值 % T=0.5*(double(min(I(:)))+double(max(I(:)))); % T=mean(I(:)); T=0;%阈值初始化值 T0=0.5; %预定偏差大小 done=false;num=0;%迭代次数 while ~done g=I>=T; %由于g或者~g有可能为空,因此必须分情况处理 if(size(I(g),1)==0)T1=mean(I(~g)); elseif(size(I(~g),1)==0)T1=mean(I(g)); else T1=0.5*(mean(I(g))+mean(I(~g))); end done=abs(T-T1)<=T0; T=T1; num=num+1; end T=uint8(T);I2=I>=T; %graythresh可以直接求出阈值,该函数采用Ostu方法,与通过迭代产生的阈值几乎没有区别. %注意:由于graythresh产生的阈值已被归一化到范围[0,1]内,必须在使用时将其缩放到相应 %的范围,如uint8类图像,需要乘以255. T1=graythresh(I)*255; subplot(2,2,[3 4]);imshow(I2);title('基本全局阈值算法处理结果'); xlabel(['通过程序求得的阈值为',num2str(T),',迭代次数为',num2str(num)]);
相关文章推荐
- 数字图像处理 - 图像分割 - 阈值处理
- 图像分割—基于图像数据的自动选择阈值(基本全局阈值处理方法)
- 灰度图像--图像分割 阈值处理综述
- 数字图像处理,一维信号小波阈值去噪的C++实现
- 数字图像处理,二维图像小波阈值去噪的C++实现(matlab验证)
- 数字图像处理-图像分割:Snake主动轮廓模型 Matlab代码及运行结果
- 数字图像处理:9.图像分割
- 数字图像处理之超像素图像分割
- 【数字图像处理】 二.MFC单文档分割窗口显示图片
- 图像分割--使用Otsu方法的全局阈值处理
- Matlab 图像分割 (阈值处理)
- 图像处理算法基础(十)---大津法求最佳分割阈值
- 数字图像处理之边缘检测,图像分割
- 基于数字图像处理的车牌定位和分割的研究 -- 开题报告
- 分割树叶(数字图像处理)
- 灰度图像--图像分割 阈值处理之平均阈值
- 数字图像处理 RGB与HIS彩色空间分割
- opencv10-图像分割-阈值处理
- 图像分割--使用迭代算法的全局阈值处理
- 【图像处理】数字图像处理中常用图像分割算法(理论初识)