函数功能: 该函数用于填充bai图像区域和“空洞”。

语法格式:

BW2 = imfill(BW)

这种du格式将一张二值图像显示在屏zhi幕上, 允许用户使用鼠标在图像上点几个点, 这几个点围成的区域即要填充的区域。要以这种交互方式操作, 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(‘填充后的图像’)

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(‘填充后的图像’)