Halcon二值化函数汇总解析
Posted MrL_JJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Halcon二值化函数汇总解析相关的知识,希望对你有一定的参考价值。
文章目录
1.threshold
函数原型:
threshold(Image : Region : MinGray, MaxGray : )
函数功能:
使用全局阈值分割图像。
参数说明:
Image :HImage类型,输入图像,即待分割图像。
Region :HRegion类型,输出区域,即分割后的区域。
MinGray :输入灰度低阈值,0~255。
MaxGray :输入灰度高阈值,0~255,需大于MinGray 。
函数原理:
算子通过从输入图像中提取灰度值gray满足:MinGray < gray< MAxGray
条件的像素。
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
详细解释请移步之前的文章:https://editor.csdn.net/md/?articleId=119995083
以上是关于Halcon二值化函数汇总解析的主要内容,如果未能解决你的问题,请参考以下文章