代码如下,不知是否满足所提问题:
***************************************************************************
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
***********************************************************************
截图和输出图像: