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('二值化后图像')%骨架提取,以前的思路是进行若干次腐蚀,直到腐蚀为空集的前一次,但效果不好。%现在改成细化法。skel=zeros(row,col);%细化索引表tab=[0,0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,...1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,...0,0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,...1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,...1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,...0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,...1,1,0,0,1,1,0,0,1,1,0,1,1,1,0,1,...0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,...0,0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,...1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,...0,0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,...1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,...1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,...1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,...1,1,0,0,1,1,0,0,1,1,0,1,1,1,0,0,...1,1,0,0,1,1,1,0,1,1,0,0,1,0,0,0];B=[1 2 4;8 0 16;32 64 128];for i=2:row-1 for j=2:col-1 N=sum(sum(Y(i-1:i+1,j-1:j+1).*B)); skel(i,j)=tab(N+1); endend%腐蚀完成figure(3)imshow(skel,[])title('提取的图像骨架')
导读:目前正在解读《采用细化法的matlab实现》的相关信息,《采用细化法的matlab实现》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《采用细化法的matlab实现》的详细说明。
简介:本文介绍的是采用细化法的matlab实现的源代码。
提醒:《采用细化法的matlab实现》最后刷新时间 2024-03-14 01:02:33,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《采用细化法的matlab实现》该内容的真实性请自行鉴别。