作者:ZephyrHou 2017-07-10
有時候我們需要標記圖形的形心,這時我們可以使用MATLAB函數(shù)自帶的函數(shù),regionprops進行標記。好了,閑話少說,下面上代碼:
Img = imread('coins.png'); % coins.png為系統(tǒng)內(nèi)自帶圖像
Ibw = im2bw(img); %使用閾值變換法把灰度圖像轉(zhuǎn)換成二值圖像
Ibw = imfill(Ibw,'holes'); %該函數(shù)用于填充圖像區(qū)域和‘空域’
Ilabel = bwlabel(Ibw); %連通區(qū)域標記函數(shù)
Area_I = regionprops(Ilabel,'centroid');%用來度量圖像區(qū)域?qū)傩缘暮瘮?shù).常用來統(tǒng)計被標記的區(qū)域的面積分布,顯示區(qū)域總數(shù)
figure;imshow(Img);hold on; %顯示原始圖像
% 將形心標記于圖像上并顯示
for x = 1: numel(Area_I)
plot(Area_I(x).Centroid(1),Area_I(x).Centroid(2),'b*');
end
原始圖片如下:
Paste_Image.png
使用代碼標記后效果如下:
1.png
當然我們還可以提取其外接矩形的四個頂點坐標,然后使用plot畫出其邊框,也可以使用函數(shù)內(nèi)置的屬性,具體請使用help regionprops 查看其屬性,效果如下:
1.png
【說明】:上面是通過本人自己寫的代碼實現(xiàn)的標記,其中有個圖形出現(xiàn)偏差。