我用matlab检测出它的边缘了,接下来想要找到它的边缘点,计算其长度,怎么做,各路大神能否给个程序,

或者留下联系方式,万分感谢
2024-12-19 01:49:26
推荐回答(1个)
回答1:

代码如下,不知是否满足所提问题:

***************************************************************************

clear all;

clc;

I=imread('E:\Matlab2010\image\object.jpg'); %图片的读入

I=rgb2gray(I); %彩色图转换为灰度图

A=im2bw(I,50/255); %灰度图装换为二值图,阈值自己手调

figure,imshow(A); %新建窗口输出图像

B=bwareaopen(A,10,8);  %面积小于10区域滤除,8连通

C=imerode(B,ones(8,8)); %8x8结构体腐蚀,补齐空白部分

figure,imshow(C);  %图像输出

D=bwlabel(C);   %标注连通区域,图中黑色部分

E=regionprops(D,'Perimeter','Area')  %提取面积和周长并输出到命令窗口

*******************************************************************************

输出结果:

E = 

    Area: 1527831

    Perimeter: 5568

***********************************************************************

截图和输出图像: