文档

imclearborder

抑制连接到图像边界的光结构

语法

IM2 = imclearborder(IM)
IM2 = imclearborder(IM,conn)

描述

例子

IM2= imclearborder (即时通讯压制比周围环境轻且连接到图像边界的结构。使用此函数可以清除图像边框。即时通讯可以是灰度图像或二值图像。对于灰度图像,imclearborder倾向于降低整体强度水平,除了抑制边界结构。输出图像,IM2,是灰度或二进制,取决于输入。默认连通性为二维8,三维26,以及conndef (ndims (BW),“最大”)对于高维。

例子

IM2= imclearborder (即时通讯康涅狄格州指定所需的连通性。

例子

全部折叠

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

BW = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0);

使用4-connectivity清除图像边界上的像素。请注意,imclearborder不清除(5,2)处的像素,因为使用4-连接性,它不会被认为连接到(4,1)处的边界像素。

BWc1 = imclearborder(BW,4)
BWc1 =9×90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

现在使用8-connectivity清除图像边界上的像素。imclearborder清除(5,2)处的像素,因为使用8-connectivity,它被认为连接到边界像素(4,1)。

BWc2 = imclearborder(BW,8)
BWc2 =9×90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

输入参数

全部折叠

灰度图像或二值图像,指定为实数、非稀疏、数值或逻辑数组。

例子:I = imread('撅嘴。tif');I2 = imclearborder(I);

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

连接性,指定为本表中的值之一。

价值

意义

二维的连接性

4

四连接社区

8

8-connected附近

三维的连接性

6

6-connected附近

18

18-connected附近

26

26-connected附近

还可以使用for以更通用的方式为任何维度定义连通性康涅狄格州一个3 × 3 ×…的-乘3矩阵0年代和1年代。1值元素定义相对于的中心元素的邻域位置康涅狄格州.请注意,康涅狄格州必须是围绕中心元素对称的。

请注意

如果指定了非默认连接,则输入图像边缘上的像素可能不会被视为边界像素。例如,如果Conn = [0 0 0;11 11 1;0 0 0],第一行和最后一行上的元素不被认为是边界像素,因为根据连通性定义,它们不连接到图像外部的区域。

例子:I2 = imclearborder(I,4);

数据类型:|逻辑

输出参数

全部折叠

灰度图像或二值图像,根据您指定的输入图像,以实数、非稀疏、数值或逻辑数组的形式返回。

算法

imclearborder使用形态重建,其中:

  • 掩码图像是输入图像。

  • 标记图像处处为零,除了沿边界,在那里它等于掩模图像。

参考文献

[1] Soille, P.形态图像分析:原理和应用,施普林格,1999,第164-165页。

扩展功能

另请参阅

R2006a之前介绍

这个话题有用吗?