p0904.m

来自「《visual c++matlab图像处理与识别实用案例精选》源码」· M 代码 · 共 33 行

M
33
字号
I=imread('z12R.jpg');
I=im2bw(I,0.6);
SE1=strel('square', 3);
R=imerode(I,SE1);             % “腐蚀”运算
Edge_Road=I-R;                %  边缘检测
[y,x]=size(I);
Px=zeros(y,1);
CenterR=zeros(y,x);
for j=1:y                     % 路径中线检测
    i=1;
    while((Edge_Road(j,i)~=1)&&(i<x))
            i=i+1;
    end
    if (i<x)
        P1=i;                 % 路径左边缘位置
    end
    
    i=x;
    while((Edge_Road(j,i)~=1)&&(i>1))
            i=i-1;
    end
    if (i>1)
        P2=i;                % 路径右边缘位置
    end
   
    Px(j)=round((P1+P2)/2);  % 路径中线位置
    CenterR(j,Px(j))=1;      
end
    
figure,imshow(R);
figure,imshow(Edge_Road);
figure,imshow(CenterR);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?