map1=imread('p.jpg');[row,col,dep]=size(map1); %行,列,深度值map=zeros(row,col);pixsum=row*col; %像素总数%灰度化for i=1:row for j=1:col map(i,j)=0.11*map1(i,j,1)+0.59*map1(i,j,2)+0.3*map1(i,j,3); endend%灰度化完成,输出灰度图figure(1)imshow(map,[])title('原始灰度图像')Y=zeros(row,col); %存储输出图像%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5根据通道二值化 for i=1:row for j=1:col if map1(i,j,2)>map1(i,j,1)&&map1(i,j,2)>map1(i,j,3) Y(i,j)=1; else Y(i,j)=0; end end endfigure(2)imshow(Y,[])title('二值化后图像')%腐蚀B=ones(3,3);%腐蚀剂OUT1=zeros(row,col);%程序中间输出1OUT2=zeros(row,col);%程序中间输出2for i=2:row-1 for j=2:col-1 a=sum(sum(Y(i-1:i+1,j-1:j+1).*B)); if a==9 OUT1(i,j)=1; else OUT1(i,j)=0; end endend%腐蚀完成figure(3)imshow(OUT1,[])title('腐蚀后二值图')figure(4)imshow(B,[])title('结构元素')dOUT1=Y-OUT1;figure(5)imshow(dOUT1,[])title('原二值图减腐蚀后的图')%对原图膨胀for i=2:row-1 for j=2:col-1 a=sum(sum(Y(i-1:i+1,j-1:j+1).*B)); if a>=1; OUT2(i,j)=1; else OUT2(i,j)=0; end endend%膨胀完成figure(6)imshow(OUT2,[])title('膨胀后的图')dOUT2=Y-OUT2;figure(7)imshow(dOUT2,[])title('原二值图减膨胀后的图')
导读:目前正在解读《腐蚀和膨胀的matlab实现》的相关信息,《腐蚀和膨胀的matlab实现》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《腐蚀和膨胀的matlab实现》的详细说明。
简介:本文给大家分享了一个腐蚀和膨胀的matlab实现的源代码。
提醒:《腐蚀和膨胀的matlab实现》最后刷新时间 2024-03-14 01:02:33,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《腐蚀和膨胀的matlab实现》该内容的真实性请自行鉴别。