工控编程吧
标题:
halcon auto_threshold函数介绍
[打印本页]
作者:
qq263946146
时间:
2019-5-29 12:57
标题:
halcon auto_threshold函数介绍
auto_threshold(Image : Regions : Sigma : )
auto_threshold使用多个阈值分割单通道图像。
首先,确定灰度值的绝对直方图。
然后从直方图中提取相关的最小值,在后续会依次作为阈值操作的参数。
字节图像使用的阈值分别为0、255,
和从直方图中提取的所有极小值(在直方图用标准偏差Sigma的高斯滤波器进行平滑后再进行提取)。
对于每个灰度值间隔,生成一个区域。
因此,区域的数量就是极小值+ 1的数量。
对于uint2图像,类似地使用了上述过程。然而,这里的最高阈值是65535。
此外,对于uint2图像,Sigma的值(实际上)指的是256个值的直方图,虽然使用的是分辨率更高的内部直方图。
这样做是为了方便在不同图像类型之间切换,而不需要更改参数Sigma。
对于浮点图像,阈值为图像中的最小和最大灰度值,以及从t中提取的所有最小值。
这里,参数Sigma的缩放是指图像的原始灰度值。
选择的值越大,提取的区域就越少。
如果要提取的区域显示相似的灰度值(同质区域),这个操作符是有用的。
例程:
read_image (Image, 'egypt1')
*首先,确定灰度值的绝对直方图。
gray_histo (Image, Image, AbsoluteHisto, RelativeHisto)
gen_region_histo (Region, AbsoluteHisto, 255, 255, 1)
然后从直方图中提取相关的最小值,在后续会依次作为阈值操作的参数。
histo_to_thresh (AbsoluteHisto, 4, MinThresh, MaxThresh)
*依次作为阈值操作的参数。
threshold (Image, Region1, MinThresh, MaxThresh)
*使用自动多阈值分割
auto_threshold (Image, Region2, 4.0)
Region1,Region2结果相同。
[halcon]1[/halcon]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4