文档

imfill

填充图像区域和孔

语法

BW2 =填充(BW,位置)
BW2 =填充(BW,'holes')
I2 =填充(I)
BW2 =填充(BW)
BW2 = imfill(BW,0,conn)
[BW2, locations_out] = imfill(BW)
BW2 = imfill(BW,locations,conn)
BW2 = imfill(BW,conn,'holes')
I2 = imfill(I,conn)
gpuarrayB =填充(gpuarrayA,___

描述

例子

BW2= imfill (BW位置对输入二值图像的背景像素执行淹没填充操作BW,由中指定的点开始位置.如果位置是一个p-by-1向量,它包含起始位置的线性下标。如果位置是一个p——- - - - - -ndims (BW)矩阵中,每行包含一个起始位置的数组下标。

例子

BW2= imfill (BW,“漏洞”)填补输入二值图像中的空白BW.在这个语法中,洞是一组背景像素,从图像边缘填充背景无法到达。

例子

I2= imfill (填补灰度图像中的漏洞.在此语法中,洞被定义为由浅色像素包围的深色像素区域。

BW2= imfill (BW显示二值图像BW并允许您通过鼠标交互地选择点来定义要填充的区域。要使用这种语法,BW必须是二维图像。新闻退格删除删除先前选定的点。Shift-click、右键单击或双击选择最后一个点并开始填充操作。新闻返回在不加一分的情况下完成选择。

BW2= imfill (BW,0,康涅狄格州允许您在以交互方式指定位置时覆盖默认连接性。

BW2locations_out=填充(BW返回交互选择的点的位置locations_out.返回值locations_out是输入图像的线性下标向量。要使用这种语法,BW必须是二维图像。

BW2= imfill (BW位置康涅狄格州填充定义的区域位置,在那里康涅狄格州指定连通性。

例子

BW2= imfill (BW康涅狄格州,“漏洞”)填补二值图像中的漏洞BW,在那里康涅狄格州指定连通性。

例子

I2= imfill (康涅狄格州填补灰度图像中的漏洞,在那里康涅狄格州指定连通性。

例子

gpuarrayB= imfill (gpuarrayA___对GPU进行填充操作。输入图像和返回图像是二维的gpuArrays.使用此语法需要并行计算工具箱™。当在GPU上运行时,imfill不支持使用鼠标选择万博1manbetx位置的交互式语法。

例子

全部折叠

BW1 =逻辑([1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0]);BW2 = imfill(BW1,[3 3],8)
BW2 =8x8逻辑阵列1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1

将图像读入工作区。

I = imread(“coins.png”);图imshow(I)标题(原始图像的

将图像转换为二值图像。

BW = imbinalize (I);图imshow(BW)标题('原始图像转换为二值图像'

填充二进制图像中的洞并显示结果。

BW2 =填充(BW,“黑洞”);图imshow(BW2)标题(“填充图像”

I = imread(“tire.tif”);I2 =填充(I);图,imshow(I),图,imshow(I2)

创建一个简单的样本二值图像。

BW1 =逻辑([1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0])
BW1 = 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0

创建一个gpuArray。

BW1 = gpuArray(BW1);

从指定的起始位置填充图像的背景。

BW2 = imfill(BW1,[3 3],8)
BW2 = 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0

输入参数

全部折叠

输入二值图像,指定为任何维度的实的非稀疏逻辑数组。

例子:BW = imread('text.png');

数据类型:逻辑

标识像素位置的线性指标,指定为二维实数数字向量或正整数矩阵。

例子:BW2 = imfill(BW,[3 3],8);

数据类型:

输入灰度图像,指定为任何维度的实、非稀疏、数值数组。

例子:I = imread('cameraman.tif');I2 =填充(I);

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

连接性,指定为下表中的一个标量值。默认情况下,imfill二维图像使用4连通邻域,三维输入使用6连通邻域。对于更高维度,imfill使用conndef (ndims(我),“最小”).通过使用for,可以以更通用的方式为任何维度定义连接性康涅狄格州一个3 × 3 ×…的-乘3矩阵0年代和1年代。1值元素定义相对于的中心元素的邻域位置康涅狄格州.请注意,康涅狄格州必须是围绕中心元素对称的。

价值

意义

二维的连接性

4

四连接社区

8

8-connected附近

三维的连接性

6

6-connected附近

18

18-connected附近

26

26-connected附近

数据类型:|逻辑

输入图像,指定为gpuArray

输出参数

全部折叠

填充图像,返回为逻辑数组。

像素位置的线性索引,返回为数值向量或矩阵。

填充的灰度图像,作为数字数组返回。

输出图像,返回为gpuArray

算法

imfill采用一种基于形态重构的算法[1]

参考文献

[1] Soille, P.,形态学图像分析:原理和应用,Springer-Verlag, 1999,第173-174页。

扩展功能

R2006a之前介绍

这个话题有用吗?