使用MATLAB提取圖像的形心并標(biāo)記
MATLAB是一種功能強(qiáng)大的計(jì)算機(jī)軟件,廣泛應(yīng)用于圖像處理領(lǐng)域。在處理圖像時(shí),有時(shí)我們需要找出圖形的形心并進(jìn)行標(biāo)記。本文將介紹如何使用MATLAB自帶的函數(shù)regionprops來(lái)實(shí)現(xiàn)這一目標(biāo)。代碼示
MATLAB是一種功能強(qiáng)大的計(jì)算機(jī)軟件,廣泛應(yīng)用于圖像處理領(lǐng)域。在處理圖像時(shí),有時(shí)我們需要找出圖形的形心并進(jìn)行標(biāo)記。本文將介紹如何使用MATLAB自帶的函數(shù)regionprops來(lái)實(shí)現(xiàn)這一目標(biāo)。
代碼示例
以下是在MATLAB中提取圖像形心并進(jìn)行標(biāo)記的代碼示例:
```matlab
Img imread(''); % 讀取圖像
Ibw im2bw(Img); % 將灰度圖像轉(zhuǎn)換為二值圖像
Ibw imfill(Ibw,'holes'); % 填充圖像區(qū)域和空域
Ilabel bwlabel(Ibw); % 連通區(qū)域標(biāo)記函數(shù)
Area_I regionprops(Ilabel,'centroid'); % 提取圖像區(qū)域?qū)傩?/p>
figure;
imshow(Img);
hold on;
for x 1:numel(Area_I)
plot(Area_I(x).Centroid(1), Area_I(x).Centroid(2), 'b*');
end
```
運(yùn)行結(jié)果
原始圖片如下所示:
![原始圖片]()
使用上述代碼進(jìn)行標(biāo)記后的效果如下圖所示:

進(jìn)一步操作
除了標(biāo)記圖像的形心,我們還可以進(jìn)一步操作,例如提取圖像的外接矩形的四個(gè)頂點(diǎn)坐標(biāo),并使用plot函數(shù)繪制圖像邊框。此外,還可以通過(guò)查看regionprops函數(shù)的內(nèi)置屬性來(lái)獲取更多操作方法。
【說(shuō)明】:上述示例是通過(guò)作者自己編寫(xiě)的代碼實(shí)現(xiàn)的標(biāo)記效果,其中可能會(huì)出現(xiàn)一些偏差。