threshold
原型
threshold(Image : Region : MinGray, MaxGray : )
功能
使用全局阈值分割图像
参数列表
Image (input_object) :输入图像
Region (output_object) :阈值分割后Region
MinGray (input_control):设置的最小阈值(灰度值)
MaxGray (input_control) :设置的最大阈值(灰度值)
其中要满足MaxGray >= MinGray
详解
1、最常用的方式原理如下图:
2、另一种方式是MinGray以及MaxGray值不是单一的,两个或者更多,那么就会根据不同间隔分割出多个区域(regions),但基本原理与方式一还是相同的。下面会举例说明。
Halcon全局阈值分割工具介绍
举例
1、最小、最大阈值是单一的
2、最小、最大阈值非单一
两种方式的区别就是第二种返回的Regions是一个包含两个Region的元组。如果分割的区域较多,代码较简洁。
代码
1、
- 读取一张图像
read_image (Audi2, ‘audi2’) - 全局阈值分割
threshold (Audi2, Region, 0, 90) - 计算区域连通域
connection (Region, ConnectedRegions) - 根据宽高筛选需要的Region
select_shape (ConnectedRegions, SelectedRegions, ‘width’, ‘and’, 30, 70)
select_shape (SelectedRegions, Letters, ‘height’, ‘and’, 60, 110)
select_shape (ConnectedRegions, Letters, [‘width’, ‘height’], ‘and’, [30, 60], [70, 110])
dev_clear_window ()
dev_set_colored (12)
dev_display (Audi2)
dev_display (Letters)
2、
-
读取一张图像
read_image (Image, ‘letters’) -
全局阈值分割出两个区域
threshold (Image, Region, [0, 107], [106, 255]) -
等价于上面一行代码
threshold (Image, DarkRegion, 0, 106)
threshold (Image, LightRegion, 107, 255)
concat_obj (DarkRegion, LightRegion, Region)