函式功能: 該函式用於填充圖像區域和“空洞”。
語法格式:
BW2 = imfill(BW)
這種格式將一張二值圖像顯示在螢幕上, 允許用戶使用滑鼠在圖像上點幾個點, 這幾個點圍成的區域即要填充的區域。要以這種互動方式操作, BW必須是一個二維的圖像。用戶可以通過按Backspace鍵或者Delete鍵來取消之前選擇的區域;通過shift+滑鼠左鍵單擊或者滑鼠右鍵單擊或雙擊可以確定選擇區域。
[BW2,locations] = imfill(BW)
這種方式, 將返回用戶的取樣點索引值。注意這裡索引值不是選取樣點的坐標。
BW2 = imfill(BW,locations)
這種格式允許用戶編程時指定選取樣點的索引。locations是個多維數組時, 數組每一行指定一個區域。
BW2 = imfill(BW,'holes')
填充二值圖像中的空洞區域。 如, 黑色的背景上有個白色的圓圈。 則這個圓圈內區域將被填充。
I2 = imfill(I)
這種調用格式將填充灰度圖像中所有的空洞區域。
BW2 = imfill(BW,locations,conn)
程式示例
close all; clear; clc;
BW4 = im2bw(imread('coins.png'));
BW5 = imfill(BW4,'holes');
subplot(121), imshow(BW4), title('源圖像二值化')
subplot(122), imshow(BW5), title('填充後的圖像')