Halcon二值化函数汇总解析


1.threshold

函数原型

threshold(Image : Region : MinGray, MaxGray : )

函数功能
使用全局阈值分割图像。
参数说明
Image :HImage类型,输入图像,即待分割图像。
Region :HRegion类型,输出区域,即分割后的区域。
MinGray :输入灰度低阈值,0~255。
MaxGray :输入灰度高阈值,0~255,需大于MinGray 。
函数原理
算子通过从输入图像中提取灰度值gray满足:MinGray < gray< MAxGray
条件的像素。更加详细解析,请前往
二值化threshold函数详解

2.fast_threshold

函数原型

fast_threshold(Image : Region : MinGray, MaxGray, MinSize : )

函数功能
使用全局阈值分割图像。
参数说明
Image :HImage类型,输入图像,即待分割图像。
Region :HRegion类型,输出区域,即分割后的区域。
MinGray :输入灰度低阈值,0~255。
MaxGray :输入灰度高阈值,0~255,需大于MinGray 。
MinSize :提取对象的最小尺寸。
函数原理
算子通过从输入图像中提取灰度值gray满足:MinGray < gray< MAxGray
条件的像素。为了减少处理时间,选择分两步进行:首先,处理所选水平线上的所有点,这些点由它们的距离MinSize指定。接着,处理所有之前选中的点的邻域(size (2MinSize+1) x (2MinSize+1))。

3.bin_threshold

函数原型

bin_threshold(Image : Region : : )

函数功能
使用自动确定的全局阈值分割单通道灰度值图像
参数说明
Image :HImage类型,输入图像,即待分割图像。
Region :HRegion类型,输出区域,即分割后的区域。
函数原理
首先,确定灰度值的相对直方图。然后,从直方图中提取相关的最小值minimum,作为阈值操作的参数。为了减少最小值的数量,直方图使用高斯平滑,高斯模板的大小被逐渐放大,直到在平滑直方图中只有一个最小值minimum。最后选取图像最小值到minimum的像素。

4.auto_threshold

函数原型

auto_threshold(Image : Regions : Sigma : )

函数功能
使用由直方图确定的阈值分割图像。
参数说明
Image :HImage类型,输入图像,即待分割图像。
Region :HRegion类型,输出区域,即分割后的区域。
Sigma :输入,用于直方图的高斯平滑,Sigma >= 0.0。
函数原理
使用多重阈值分割单通道图像。首先确定灰度值的绝对直方图。然后,从直方图中提取相关的最小值,依次作为阈值操作的参数。字节图像的阈值为0,255,以及从直方图中提取的所有最小值(直方图用标准差Sigma的高斯滤波器平滑后)。对于每个灰度值区间,生成一个区域。因此,区域的数量就是最小值+ 1的数量。

5.binary_threshold

函数原型

binary_threshold(Image : Region : Method, LightDark : UsedThreshold)

函数功能
使用自动确定的全局阈值分割单通道图像
参数说明
Image :HImage类型,输入图像,即待分割图像。
Region :HRegion类型,输出区域,即分割后的区域。
Method:输入,选择二值化采用的方法。分别有’max_separability’, ‘smooth_histo’。
LightDark :输入,选择提取前景或背景,分别有 ‘dark’, ‘light’。
UsedThreshold:输出,算子自动计算采用的二值化阈值。
函数原理
算子有两种方法,这两种方法只能用于具有双峰直方图的图像。
一、‘smooth_histo’: 原理和bin_threshold()算子相同。
二、‘max_separability’:类间最大法,该算法首先计算图像的直方图,然后利用统计矩找出将像素分为前景和背景的最优阈值,使这两个类的可分性最大化。这种方法只适用于字节和uint2图像。它对直方图中远离光谱其余部分的薄孤立峰不太敏感,而且通常比“smooth_histo”更快。详细解析+源码实现

6.dual_threshold

函数原型

dual_threshold(Image : RegionCrossings : MinSize, MinGray, Threshold : )

函数功能
使用双重阈值对带符号图像的阈值分割。
参数说明
Image :HImage类型,输入图像,即待分割图像。
RegionCrossings :HRegion类型,输出区域,即分割后的区域。
MinSize:输入,小于MinSize的区域被抑制。
MinGray:输入,对绝对灰度值小于MinGray的区域进行抑制。
Threshold :输入,灰度值小于Threshold(或大于-Threshold)的区域将被抑制。
函数原理
将输入图像分割成灰度值>Threshold 的区域Threshold(“正”区域)和灰度值<Threshold 的区域“负”区域)。只有大小大于MinSize的“正”或“负”区域才会被保留,灰度值在MinGray和-MinGray之间的区域会被抑制。

7.hysteresis_threshold

函数原型

hysteresis_threshold(Image : RegionHysteresis : Low, High, MaxLength : )

函数功能
对图像执行迟滞阈值分割。
参数说明
Image :HImage类型,输入图像,即待分割图像。
RegionHysteresis :HRegion类型,输出区域,即分割后的区域。
Low:输入,灰色值的下限阈值
High:输入,灰色值的上限阈值
MaxLength :输入,“潜在”点到达“安全”点的路径的最大长度。
函数原理
所有在输入图像中具有大于或等于High的灰度值的点立即被接受(“安全”点)。相反,所有灰色值小于Low的点将被立即拒绝。如果“潜在”点通过长度最多为MaxLength点的“潜在”点路径连接到“安全”点,那么两个阈值之间的灰色值的“潜在”点将被接受。这意味着“安全”点会影响它们的周围环境(滞后)。

8.dyn_threshold

详细解释请移步之前的文章:dyn_threshold函数详解

猜你喜欢

转载自blog.csdn.net/weixin_44901043/article/details/123126308
今日推荐