QQ登录

只需一步,快速开始

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从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索