matlab图像分割代码

matlab图像分割代码

ID:35968293

大小:12.66 KB

页数:3页

时间:2019-04-29

matlab图像分割代码_第1页
matlab图像分割代码_第2页
matlab图像分割代码_第3页
资源描述:

《matlab图像分割代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、[matlab图像处理]阈值分割%迭代式阈值分割otsu阈值分割二值化closeall;%关闭所有窗口clear;%清除变量的状态数据clc;%清除命令行I=imread('rice.png');subplot(2,2,1);imshow(I);title('1rice的原图');%迭代式阈值分割zmax=max(max(I));%取出最大灰度值zmin=min(min(I));%取出最小灰度值tk=(zmax+zmin)/2;bcal=1;[m,n]=size(I);while(bcal)%定义前景和背景数iforeground=0;ibac

2、kground=0;%定义前景和背景灰度总和foregroundsum=0;backgroundsum=0;fori=1:mforj=1:ntmp=I(i,j);if(tmp>=tk)%前景灰度值iforeground=iforeground+1;foregroundsum=foregroundsum+double(tmp);elseibackground=ibackground+1;backgroundsum=backgroundsum+double(tmp);endendend%计算前景和背景的平均值z1=foregroundsum/ifo

3、reground;z2=foregroundsum/ibackground;tktmp=uint8((z1+z2)/2);if(tktmp==tk)bcal=0;elsetk=tktmp;end%当阈值不再变化时,说明迭代结束enddisp(strcat('迭代的阈值迭代的阈值:阈值:',num2str(tk)));%在commandwindow里显示出:newI=im2bw(I,double(tk)/255);%函数im2bw使用阈值(threshold)变换法把灰度图像(grayscaleimage)%转换成二值图像。所谓二值图像

4、,一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。%语法%BW=im2bw(I,level)%BW=im2bw(X,map,level)%BW=im2bw(RGB,level)%其中level就是设置阈值的。level取值范围[0,1]。subplot(2,2,2);imshow(newI);title('2rice的迭代法分割效果图');%otsu阈值分割bw=graythresh(I);disp(strcat('otsu阈值分割的阈值:',num2str(bw*255)));%在commandwindow里显

5、示出:迭代的阈值:阈值newII=im2bw(I,bw);subplot(2,2,3);imshow(newII);title('3rice的otsu阈值分割');%二值化阈值为135[width,height,bmsize]=size(I);fori=1:widthforj=1:heightifI(i,j)>135I(i,j)=255;elseI(i,j)=0;endendendsubplot(2,2,4);imshow(I);title('4rice的二值阈值分割');

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。