1. 程式人生 > 實用技巧 >MATLAB中imfill()函式

MATLAB中imfill()函式

Matlab函式imfill簡介

函式功能: 該函式用於填充影象區域和“空洞”。

語法格式:
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('填充後的影象')
http://blog.csdn.net/dukai392/article/details/72082685