MATLAB 帮助中心
底帽滤波
J = imbothat(I,SE)
J = imbothat(I,nhood)
J = imbothat(I,SE) 使用结构元素 SE 对灰度或二值图像 I 执行形态学底帽滤波。底帽滤波计算图像的形态学闭运算(使用 imclose),然后从结果中减去原始图像。
J
I
SE
imclose
示例
J = imbothat(I,nhood) 对图像 I 执行底帽滤波,其中 nhood 是由 0 和 1 组成的矩阵,用于指定结构元素邻域。
nhood
0
1
此语法等效于 imbothat(I,strel(nhood))。
imbothat(I,strel(nhood))
strel
全部折叠
将图像读入工作区并显示它。
I = imread('pout.tif'); imshow(I)
创建一个盘形结构元素。
se = strel('disk',3);
将原始图像 I 加到顶帽滤波图像上,然后减去底帽滤波图像。
J = imsubtract(imadd(I,imtophat(I,se)),imbothat(I,se)); figure imshow(J)
输入图像,指定为任意维度的灰度图像或二值图像。
数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
single
double
int8
int16
int32
uint8
uint16
uint32
logical
offsetstrel
结构元素,指定为 strel 对象或 offsetstrel 对象。如果图像 I 的数据类型为 logical,则结构元素必须为平面结构。
结构元素邻域,指定为 0 和 1 组成的矩阵。
示例: [0 1 0; 1 1 1; 0 1 0]
[0 1 0; 1 1 1; 0 1 0]
经过底帽滤波的图像,以灰度图像或二值图像形式返回。J 与输入图像 I 具有相同的数据类型。
如果图像 I 的维度大于结构元素的维度,则 imbothat 函数将相同的形态学闭运算应用于较高维度上的所有平面。
imbothat
您可以使用此行为对 RGB 图像执行底帽滤波。为 RGB 图像指定二维结构元素,以便对每个颜色通道分别执行运算。
当指定结构元素邻域时,imbothat 通过 floor((size(nhood)+1)/2) 确定 nhood 的中心元素。
floor((size(nhood)+1)/2)
全部展开
用法说明和限制:
imbothat 支持 C 代码生成(需要 MATLAB® Coder™)。请注意,如果您选择通用的 MATLAB Host Computer 目标平台,imbothat 生成的代码将使用平台特定的预编译共享库。使用共享库可保留性能上的优化,但适用范围仅限于生成的代码所适用的目标平台。有关详细信息,请参阅Image Processing Toolbox 中代码生成支持的类型。
MATLAB Host Computer
输入图像 I 必须为二维或三维。
要生成优化的 C 代码,除输入图像 I 外的所有输入参量都必须为编译时常量。
图像输入 I 必须为二维或三维图像。
结构元素 SE 必须为编译时常量。
要生成优化的 CUDA 代码,除输入图像 I 外的所有输入参量都必须为编译时常量。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
gpuArray 输入必须是 uint8 或 logical 类型。
gpuArray
结构元素 SE 必须为平面和二维的。
有关详细信息,请参阅GPU 上的图像处理。
imbothat 现在支持基于线程的环境。
imclose | imdilate | imerode | imopen | imtophat
imdilate
imerode
imopen
imtophat
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处