Leaper Vision Toolkit
中文 / English 2.x
Public 成员函数 | 属性
ILImageMorph接口 参考

该接口类提供了多种形态学工具。 更多...

类 ILImageMorph 继承关系图:
ILObject LImageMorph

Public 成员函数

void BottomHat (ILImage *img, ILImage *result)
 
void Close (ILImage *img, ILImage *result)
 
void Dilate (ILImage *img, ILImage *result)
 
void Erode (ILImage *img, ILImage *result)
 
void Gradient (ILImage *img, ILImage *result)
 
void Open (ILImage *img, ILImage *result)
 
void SetMorphShape (LPVMorphShape shape, int kWidth, int kHeight)
 
void TopBottomHat (ILImage *img, ILImage *result)
 
void TopHat (ILImage *img, ILImage *result)
 
- Public 成员函数 继承自 ILObject
ILObjectCopy ()
 
LPVErrorCode Load (LString filename)
 
void Reset ()
 
LPVErrorCode Save (LString filename)
 
BOOL Valid ()
 

属性

int MorphHeight [get]
 结构元的高度 更多...
 
LPVMorphShape MorphShape [get]
 结构元的形状 更多...
 
int MorphWidth [get]
 结构元的宽度 更多...
 
- 属性 继承自 ILObject
LString Name [get, set]
 对象的名称,默认为空。
大多数情况下,LPV 算法类并不使用这个名称。
ILDrawable::SetDrawName() 启用,该名称将被绘制在对象的附近 更多...
 

详细描述

该接口类提供了多种形态学工具。

形态学工具通常使用一个预设的结构元,如矩形、圆形或十字等。对输入图像中的每个像素,形态学工具将这个像素的灰度值与其周围像素的灰度值进行比较, 将比较结果输出到输出图像的相应位置。结构元定义了像素周围需要比较的的邻域范围。 膨胀和腐蚀是最基础的形态学工具,其他工具由这两个工具组合得到。膨胀将比较的最大值作为结果,而腐蚀取比较的最小值。

使用这个接口,需要创建一个 LImageMorph 对象。

示例代码

成员函数说明

◆ BottomHat()

void BottomHat ( ILImage img,
ILImage result 
)

低帽,用于去除图像中的较小单元和细节。该工具等价于从闭操作的结果中减去原输入图像。

\[ I' = close( I, element ) - I \]

参数
[in]img输入图像
[out]result输出结果图像

◆ Close()

void Close ( ILImage img,
ILImage result 
)

闭操作,减少或消除输入图像中的较暗区域。闭操作等价于先膨胀再腐蚀。

\[ I' = erode(dilate( I, element ) \]

参数
[in]img输入图像
[out]result输出结果图像

◆ Dilate()

void Dilate ( ILImage img,
ILImage result 
)

膨胀,输出结果中的每个像素为其结构元范围内邻域像素的灰度值中的最大值。

\[ I'(x,y) = \max _{(i,j): , \texttt{element} (i,j) \ne0 } I (x+i,y+j) \]

参数
[in]img输入图像
[out]result输出结果图像

◆ Erode()

void Erode ( ILImage img,
ILImage result 
)

腐蚀,输出结果中的每个像素为其结构元范围内邻域像素的灰度值中的最小值。

\[ I'(x,y) = \min _{(i,j): , \texttt{element} (i,j) \ne0 } I (x+i,y+j) \]

参数
[in]img输入图像
[out]result输出结果图像

◆ Gradient()

void Gradient ( ILImage img,
ILImage result 
)

梯度工具,输出形态学意义上的梯度图像。该工具等价于膨胀减去腐蚀的结果。

\[ I' = dilate( I, element ) - erode( I, element ) \]

参数
[in]img输入图像
[out]result输出结果图像

◆ Open()

void Open ( ILImage img,
ILImage result 
)

开操作,略微增强亮部区域,减少或消除输入图像中的面积较小的亮部,增强面积较大。开操作等价于先腐蚀再膨胀。

\[ I' = dilate(erode( I, element ) \]

参数
[in]img输入图像
[out]result输出结果图像

◆ SetMorphShape()

void SetMorphShape ( LPVMorphShape  shape,
int  kWidth,
int  kHeight 
)

设置形态学工具中所使用的结构元,可指定结构元的形状和尺寸。

参数
[in]shape结构元的形状
[in]kWidth结构元的宽度,需要是一个奇数,如 3, 5, 7 等。
[in]kHeight结构元的高度,需要是一个奇数,如 3, 5, 7 等。若设置为 0,则使用与宽度相同。

◆ TopBottomHat()

void TopBottomHat ( ILImage img,
ILImage result 
)

高低帽,每个像素输出高帽结果或低帽结果中的最大值。

参数
[in]img输入图像
[out]result输出结果图像

◆ TopHat()

void TopHat ( ILImage img,
ILImage result 
)

高帽,用于从输入图像中提取较小单元和细节。该工具等价于从原输入图像中减去开操作结果。

\[ I' = I - open( I, element ) \]

参数
[in]img输入图像
[out]result输出结果图像

属性说明

◆ MorphHeight

int MorphHeight
get

结构元的高度

参见
SetMorphShape()

◆ MorphShape

LPVMorphShape MorphShape
get

结构元的形状

参见
SetMorphShape()

◆ MorphWidth

int MorphWidth
get

结构元的宽度

参见
SetMorphShape()