Halcon形态学处理初级

发布时间 2023-04-19 14:33:05作者: 扩视机器视觉培训学院

开运算opening 以输入的参数形成的区域为基准,对目标区域进行模拟放置,能将参数形成的区域填满的保留,填不满开掉去除 先腐蚀后膨胀 作用 祛杂点

扩展链接:https://blog.csdn.net/qq_31671139/article/details/113184854

              算子:opening_rectangle1(Region : RegionOpening : WidthHeight:)

示例:opening_rectangle1 (ObjectSelected1, RegionOpening, 33, 33)

ObjectSelected1(输入对象):输入区域对象

RegionOpening(输出对象):输出开运算后的区域对象

33(输入控制参数1):形成区域矩形的宽

33(输入控制参数2):形成区域矩形的高

 

 

闭运算closing 以输入的参数形成的区域为基准,对目标区域进行模拟放置,能将参数形成的区域填不满的保留,能填满去除 先膨胀后腐蚀 作用 保留目标区域

算子:closing_rectangle1(Region : RegionClosing :Width,Height:)

示例:closing_rectangle1 (ObjectSelected1, RegionClosing, 33, 33)

ObjectSelected1(输入对象):输入区域对象

RegionClosing(输出对象):输出闭运算后的区域对象

33(输入控制参数1):形成区域矩形的宽

33(输入控制参数2):形成区域矩形的高

 

           膨胀dilation 对区域进行向外放大

              算子:dilation_rectangle1(Region :RegionDilation :WidthHeight:)

示例:dilation_rectangle1 (ObjectSelected1, RegionDilation, 33, 33)

ObjectSelected1(输入对象):输入区域对象

RegionDilation(输出对象):输出膨胀后的区域对象

33(输入控制参数1):输入膨胀区域的宽

33(输入控制参数2):输入膨胀区域的高

 

              腐蚀erosion 对区域进行向内缩小

算子:erosion_rectangle1(Region:RegionErosion : WidthHeight : )

示例:erosion_rectangle1 (ObjectSelected1, RegionErosion, 33, 33)

ObjectSelected1(输入对象):输入区域对象

RegionErosion(输出对象):输出腐蚀后的区域对象

33(输入控制参数1):输入腐蚀区域的宽

33(输入控制参数2):输入腐蚀区域的高

 

              边缘提取boundary 适用于边界 灰度值差异大的图像

              算子:boundary(Region : RegionBorder : BoundaryType : )

示例:boundary (SortedRegions, RegionBorder, 'inner')

SortedRegions(输入对象):输入区域对象

RegionBorder(输出对象):输出边缘区域

'inner'(输入控制参数):输入提取类型 向内还是向外

4.5特征提取

              测量区域中心点area_center

              算子:area_center(Regions : : : AreaRowColumn)

示例:area_center (ObjectSelected1, Area, Row, Column)

ObjectSelected1(输入对象):输入需要测量的区域

Area(输出参数1):输出面积

Row(输出参数2):输出中心点的行坐标

Column(输出参数3):输出中心点的列坐标

 

              筛选目标区域select_shape

算子:select_shape(Regions : SelectedRegions : FeaturesOperationMinMax : )

示例:select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 201841, 990793)

ConnectedRegions(输入对象):输入多个区域对象

SelectedRegions(输出对象):输出筛选后的目标区域

'area'(输入模式类型):按面积筛选

'and'(输入条件):条件与

201841(输入控制参数下限值):筛选面积的最小值

990793(输入控制参数上线值):筛选面积的最大值

 

           测量目标区域的半径或是矩形的对角坐标inner_

              算子:inner_circle(Regions : : : RowColumnRadius)

示例:inner_circle (ObjectSelected1, Row1, Column1, Radius)

ObjectSelected1(输入对象):输入需要测量的区域对象

Row1(输出参数1):输出区域中心的行坐标

Column1(输出参数2):输出区域中心的列坐标

Radius(输出参数3):输出区域半径

 

           测量矩形的长宽smallest_,

算子:smallest_rectangle1(Regions : : : Row1Column1Row2Column2)

示例:smallest_rectangle1 (ObjectSelected1, Row12, Column12, Row21, Column21)

ObjectSelected1(输入对象):输入一个区域对象

Row12(输出参数1):输出区域左上角的点行坐标

Column12(输出参数2):输出区域左上角的点列坐标

Row21(输出参数3):输出区域右下角的点行坐标

Column21(输出参数4):输出区域右下角的点列坐标

 

测量矩形的角度orientation_ region

算子:orientation_region(Regions : : : Phi)

示例:orientation_region (ObjectSelected1, Phi)

ObjectSelected1(输入对象):输入一个区域对象

Phi(输入对象):输出该区域相比于水平线的角度