I = imread('result.bmp');
[height,width]=size(I);
threshold= graythresh(I);
bw = im2bw(I, threshold);
bw = ~bw;
bw = bwareaopen(bw,30);
[L,num]= bwlabel(bw, 8);
S = regionprops(L, 'centroid');
Ar = regionprops(L,'area');
Per= regionprops(L, 'perimeter');
Ori= regionprops(L, 'orientation');
Metric = zeros(1, max(L(:)));
A = zeros(1, max(L(:)));
O = zeros(1, max(L(:)));
for i=1:max(L(:))
A(i) = Ar(i).Area/(height*width);
Metric(i) = 4*pi*Ar(i).Area/Per(i).Perimeter^2;
O(i) = ((Ori(i).Orientation+90)*pi)/180;
end
centroids = cat(1,S.Centroid);
imshow(bw)
hold on
plot(centroids(:,1),centroids(:,2),'r*')
hold off
for i=1:max(L(:))
S(i,1).Centroid(1)=S(i,1).Centroid(1)/width;
S(i,1).Centroid(2)=S(i,1).Centroid(2)/height;
end
A(1:max(L(:)))
S(1:max(L(:)),1).Centroid
Metric(1:max(L(:)))
O(1:max(L(:)))
阅读(9069) | 评论(0) | 转发(0) |