matlab与数字图像处理
最新推荐文章于 2022-12-28 22:25:22 发布

xiyangxiaoguo 于 2020-04-19 22:35:13 发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
参考膨胀https://mp.csdn.net/console/editor/html/105622640
参考腐蚀https://mp.csdn.net/console/editor/html/105623194
左边是一个二值化的测试图像,白色为图像元素,黑色为背景;右边是经过闭操作后的结果图像
下面是测试用的matlab代码,代码中还有详细注解
%手动实现闭操作close
img=imread('ces2.bmp');
%关于img:img图像中进行了二值化,非零值(白色1),零值(黑色0)
%其中图像元素为非零值(白色1),图像背景为零值(黑色0)
sc=[0,1,0;1,1,1;0,1,0]; %结构元素
Csc=sum(sc(:)); %结构元素sc中关心的元素个数
Height=size(img,1);
Width=size(img,2);
%对img进行腐蚀
imgout=img;
for i=2:Height-1
for j=2:Width-1
pitch=img(i-1:i+1,j-1:j+1);
convtmp= pitch.*sc; %用img中的一块与结构元素作卷积
%所谓腐蚀,指图像中关心的像素(结构元素sc中值为1的部分)有0,则结果赋值为0,没有0,则赋值1
if sum(convtmp(:))<Csc %只要卷积结果中有零元素,则将输出图像的对应位置赋值0
imgout(i,j)=0;
else
imgout(i,j)=1;
end
end
end
%对imgout进行膨胀
%对img进行腐蚀
imgout1=imgout;
for i=2:Height-1
for j=2:Width-1
pitch=imgout(i-1:i+1,j-1:j+1);
convtmp= pitch.*sc; %用imgout中的一块与结构元素作卷积
%所谓腐蚀,指图像中关心的像素(结构元素sc中值为1的部分)有1,则结果赋值为1,没有1,则赋值0
if sum(convtmp(:))>0 %只要卷积结果中有非零元素,则将输出图像的对应位置赋值1
imgout1(i,j)=1;
else
imgout1(i,j)=0;
end
end
end
figure
imshow(imgout1,[]);
相关知识
基于颜色特征的农作物病虫害检测(MATLAB程序+word报告)
基于数字图像处理的果树病虫害智能化检测
基于Matlab植物虫害检测(GUI,注释svm算法)
基于数字图像处理的棉花害虫智能识别与高效控制策略
基于数字图像处理的自然花卉种类识别方法研究
基于数字图像处理的果树病虫害智能化检测的中期报告
基于数字图像处理的凤梨花卉品质参数检测的研究
【病虫害识别】SVM病虫害识别系统【含GUI Matlab源码 2429期】
MATLAB植物虫害识别
数字图像处理之椒盐噪声和中值滤波
原文链接: matlab与数字图像处理 https://m.huajiangbk.com/newsview496431.html
| 上一篇: 图像形态学处理——灰度平滑(Ma... | 下一篇: 如图,数轴上的A、B、C三点所表... |



