天天看點

matlab測量硬币尺寸,統計硬币數量matlab程式

%clear all;

%figure

%I=rgb2gray(imread('coins.jpg'));

%% 轉化為二值圖像

coin1 = im2bw(imread('coins1.png'));

%% 填充圖像區域和空洞

coin2 = imfill(coin1,'holes');

%% 連通區域标記和計數

[L Ne]=bwlabel(double(coin2));

%%圖像區域的度量屬性

prop=regionprops(L,'Area','Centroid');

%% 計數

total=0;

%% 顯示圖像

imshow(imread('coins1.png'));hold on

%% 基于硬币面積的硬币數目

for n=1:size(prop,1)

cent=prop(n).Centroid;

X=cent(1);Y=cent(2);

if prop(n).Area>2000

text(X-10,Y,'5 C')

total=total+5;

else

total=total+10;

text(X-10,Y,'10 C')

end

end

hold on

title(['The number of coins: ',num2str(Ne),' Total of money: ',num2str(total),' Cents'])