1.regiongrowing 算子
Halcon 中的regiongrowing算子实现了区域生长的功能,它能将灰度相近的相邻像素合并为同一区域。
Image:这是输入的图像,也就是要进行区域生长操作的图像。
Regions:这是输出的区域,即经过区域生长后所得到的分割区域。
1:该参数代表邻域类型,这里的 1 意味着使用 4 邻域。也就是说,在区域生长时,仅考虑当前像素的上、下、左、右四个相邻像素。
1:此参数为最小灰度差,表明在生长过程中,相邻像素与当前区域像素的灰度差必须大于等于这个值才会被合并到当前区域。
3:这是最大灰度差,意味着在生长过程中,相邻像素与当前区域像素的灰度差必须小于等于这个值才会被合并到当前区域。
500:这是最小区域大小,即经过区域生长后,只有面积大于等于 500 像素的区域才会被保留在输出结果中。
regiongrowing (Image, Regions, 1, 1, 3, 500)
2.inner_circle 算子
主要功能是针对输入的区域,计算每个区域的最大内接圆的相关参数。
Regions:这是输入参数,代表需要进行处理的区域。这些区域可以是通过图像分割(如 regiongrowing 等算子)得到的。
Row:这是输出参数,为一个数组,其中每个元素对应输入区域中一个区域的最大内接圆的圆心所在的行坐标。
Column:同样是输出参数,也是一个数组,每个元素对应输入区域中一个区域的最大内接圆的圆心所在的列坐标。
Radius:还是输出参数,为一个数组,每个元素对应输入区域中一个区域的最大内接圆的半径。
inner_circle (Regions, Row, Column, Radius)
3.smallest_rectangle1 算子
该算子会针对输入的区域,计算出能完全包围该区域的最小平行于坐标轴的矩形,也就是最小外接正矩形,并且返回这个矩形的左上角和右下角的坐标。
Region:这是输入参数,代表需要处理的区域。该区域可以是通过各种图像分割算子(例如 regiongrowing 等)得到的。
Row11:这是输出参数,它是一个数组,数组中的每个元素代表输入区域中一个区域对应的最小外接正矩形左上角点的行坐标。
Column11:同样是输出参数,也是一个数组,数组中的每个元素代表输入区域中一个区域对应的最小外接正矩形左上角点的列坐标。
Row21:还是输出参数,为一个数组,数组中的每个元素代表输入区域中一个区域对应的最小外接正矩形右下角点的行坐标。
Column21:同样是输出参数,是一个数组,数组中的每个元素代表输入区域中一个区域对应的最小外接正矩形右下角点的列坐标。
smallest_rectangle1 (Region, Row11, Column11, Row21, Column21)
4. gray_features 算子
特征提取 平均 最大 最小
gray_features (ROI_0, ImageReduced, 'mean', Value)
*gray_features (ROI_0, ImageReduced, 'min', minValue)
*gray_features (ROI_0, ImageReduced, 'max', maxValue)
5.intensity
通过intensity算子来提取灰度平均值(Mean)和偏差(Deviation)
intensity (ROI_0, Image, Mean, Deviation)
intensity (TMP_Region, Image, Mean1, Deviation1)
6. * min_max_gray
提取区域内最大最小灰度值
* min_max_gray (ROI_0, Image, 0, Min, Max, Range)
* min_max_gray (TMP_Region, Image, 0, Min1, Max1, Range1)
7.area_center_gray
用于计算某个区域的面积和灰度值中心
area_center_gray (ROI_0, Image, Area, Row, Column)
8.erosion_circle /erosion_rectangle1
用圆形结构元素腐蚀区域/用矩形结构元素腐蚀区域。
11:圆形的半径
erosion_circle (Region, RegionErosion, 11)
11 ,11 :矩形的宽度和高度
erosion_rectangle1 (RegionErosion, RegionErosion1, 11, 11)
9.gen_ellipse
创建一个椭圆
50,50 :椭圆中心点 X 和Y坐标
30: 长半轴的角度
50,20:长轴长度 和 短轴长度
gen_ellipse (Ellipse, 50, 50, 30, 50, 20)
10. erosion2
侵蚀一个区域
Ellipse:第一个 Ellipse 是输入的区域,也就是要进行腐蚀操作的区域。这里你传入的是 Ellipse 区域,可能是之前通过某些操作(如 gen_ellipse 生成椭圆区域)得到的。
Ellipse:第二个 Ellipse 是结构元素,在这个例子中使用的也是 Ellipse 区域作为结构元素。结构元素决定了腐蚀操作的邻域范围和形状。
RegionErosion2:这是输出参数,是经过腐蚀操作后得到的区域。
0:这个参数表示结构元素的参考点在 Row 方向上的偏移量。这里设置为 0 表示参考点在结构元素的 Row 方向上没有偏移。
0:这个参数表示结构元素的参考点在 Column 方向上的偏移量。这里设置为 0 表示参考点在结构元素的 Column 方向上没有偏移。
1:这个参数表示腐蚀操作的迭代次数。设置为 1 表示只进行一次腐蚀操作。
erosion2 (Ellipse, Ellipse, RegionErosion2, 0, 0, 1)