Halcon中阈值二值化的算子众多,通常用得最多的有 threshold、binary_threshold、dyn_threshold 等。 threshold 是最简单的阈值分割算子,理解最为简单; binary_threshold 是自动阈值算子,它可以自动选出暗(dark)的区域,或者自动选出亮(light)的区域,理解起来也没有难度。 动态阈值算子 dyn_threshold 理解起来稍微复杂一点,使用 dyn_threshold 算子的步骤基本是这样的: ① 将原图进行滤波平滑处理。 ② 用原图和平滑后的图逐个像素做比较,它可以根据参数分割出原图比平滑后的图灰度高(或者低)若干个灰度值的区域。 举例如下: 处理程序是这样的: 1 read_image (Image, 'C:/Users/happy xia/Desktop/dynPic.png') 2 mean_image (Image, ImageMean, 9, 9) 3 dyn_threshold (Image, ImageMean, RegionDynThresh, 10, 'dark') 程序分析:本例中,将图片模糊后,点阵字的黑色扩散了,随之就是字的黑色不如原图那么黑了,那么通过给定的限值“10”和“dark”,就可以将原图比模糊后的图 暗10个灰阶以上 的区域(即黑色文字部分)选出来了。