2025/6/6—halcon知识点总结
RegionGrowing
RegionGrowing用于基于种子点的区域生长分割,通过相似性准则将相邻像素合并为同一区域。
regiongrowing(Image, Regions, Row, Column, Tolerance, MinSize)
参数说明:
Image
(输入):输入的单通道图像,通常为灰度图像。Row
,Column
(输入):种子点的坐标,作为区域生长的起点。Tolerance
(输入):灰度容差值,决定相邻像素是否合并(差值≤Tolerance)。MinSize
(输入):输出区域的最小像素数,小于此值的区域会被丢弃。Regions
(输出):生成的区域结果。
SelectShapeStd
SelectShapeStd根据形状标准(如紧凑度、矩形度等)筛选区域。
select_shape_std(Regions, SelectedRegions, Shape, Value)
参数说明:
Regions
(输入):待筛选的区域集合。Shape
(输入):筛选标准类型,例如:'max_area'
:选择面积最大的区域。'rectangle1'
:选择最接近矩形的区域(基于矩形度)。'rectangle2'
:选择最接近任意方向矩形(旋转矩形)的区域;基于最小外接矩形的相似度
Value
(输出/输入):- 若
Shape
为'max_area'
等非比较类标准,Value
为输出参数,返回选中区域的属性值。 - 若
Shape
需阈值(如'area'
),Value
为输入参数,指定阈值范围。
- 若
SelectedRegions
(输出):筛选后的区域集合。
代码示例补充:
# 区域生长示例:从(100,100)点开始,容差10,最小区域500像素
regiongrowing(Image, Regions, 100, 100, 10, 500)# 筛选示例:选择面积最大的区域
select_shape_std(Regions, SelectedRegions, 'max_area', 0)