Main Content

imtophat

顶帽滤波

说明

示例

J = imtophat(I,SE) 使用结构元素 SE 对灰度或二值图像 I 执行形态学顶帽滤波。顶帽滤波计算图像的形态学开运算(使用 imopen),然后从原始图像中减去结果。

J = imtophat(I,nhood) 对图像 I 执行顶帽滤波,其中 nhood 是由 01 组成的矩阵,用于指定结构元素邻域。

此语法等效于 imtophat(I,strel(nhood))

示例

全部折叠

此示例说明如何使用具有盘形结构元素的顶帽滤波从具有暗背景的图像中去除不均匀的背景亮度。

读取一个图像并显示它。

original = imread('rice.png');
imshow(original)

创建该结构元素。

se = strel('disk',12);

执行顶帽滤波并显示图像。

tophatFiltered = imtophat(original,se);
figure
imshow(tophatFiltered)

使用 imadjust 来提高结果的可见性。

contrastAdjusted = imadjust(tophatFiltered);
figure
imshow(contrastAdjusted)

输入参数

全部折叠

输入图像,指定为任意维度的灰度图像或二值图像。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

结构元素,指定为单个 strel 对象或 offsetstrel 对象。如果图像 I 的数据类型为 logical,则结构元素必须为平面结构。

结构元素邻域,指定为 01 组成的矩阵。

示例: [0 1 0; 1 1 1; 0 1 0]

输出参量

全部折叠

经过顶帽滤波的图像,以灰度图像或二值图像形式返回。J 与输入图像 I 具有相同的数据类型。

提示

  • 如果图像 I 的维度大于结构元素的维度,则 imtophat 函数会将相同的形态学开运算应用于较高维度上的所有平面。

    您可以使用此行为对 RGB 图像执行顶帽滤波。为 RGB 图像指定二维结构元素,以便对每个颜色通道分别执行运算。

  • 当指定结构元素邻域时,imtophat 通过 floor((size(nhood)+1)/2) 确定 nhood 的中心元素。

扩展功能

版本历史记录

在 R2006a 之前推出

全部展开

另请参阅

函数

对象