一、特征监测的应用

gen_rectangle1:创建矩形

(Rectangle名字,Rov1和Column1为左上角开始坐标,Rov2和Column2为右下角结束坐标)

gen_rectangle2:创建任意方向的矩形(放射矩形)

(Rectangle1名字,前两个值为中心做标,后两个值分别是长轴的一半和短轴的一半。rad:可以将Phi夹角转换为度数)

gen_circle:创建一个圆

(Circle名字,第一个中心的列坐标,第二个中心行坐标,圆的半径)

gen_ellipse:创建一个椭圆

(Ellipse名字,前两个是中心坐标,Phi弧度,长轴的半径,短轴的半径)

gen_region_line:创建一条线

(前两个值为开始点的做标,后两个为结束点坐标)

union2:把两个区域合并为一个大的区域

reduce_domain:剪切对象区域(等于把一块已经规划好的区域剪切出来)

elliptic_axis:获取区域的等效椭圆参数

(Ra长轴的一半,Rb短轴的一半,Phi弧度)

area_center:获取区域的面积和中心坐标

MeanRadius := sum(Ra) / |Ra| -1:计算区域的平均长半轴半径,|Ra|代表有多少个存在。

二、判断回形针的方向(练习)

set_display_font(WindowHandle, 16 , 'mono' , 'true' , 'false'):设置窗口字体显示的样式

disp_continue_message(WindowHandle, 'black' , 'true'):在右下角显示

(Press Run(F5) Continue字样)

binary_threshold:二值化阈值操作。意思:找暗的区域或者亮的区域,也可以理解为找背景色,或者前景色。(作用:对图象进行二值化。思路:0—UsedThreshold将回形针分割出来)

orientation_region:获取过滤后图像的方向。Phi弧度

dev_set_line_width(3):设置输出对象的线宽。

disp_arrow:再窗口中显示的箭头。

disp_message:再窗口上显示回形针的度数/字符串。

(第二个填写是固定的度数deg(Phi)$'3.1f' + 'deg')

halcon中的remove_obj操作_区域合并

halcon中的remove_obj操作_ci_02

halcon中的remove_obj操作_ci_03

 三、查找PCB上的Pads区域(练习)

dev_set_part:修改窗口里显示图像的大小。

fast_threshold:快速阈值

(里面的20为最小面积不能低于20)

shape_trans:将填充后的区域转化为凸形。

boundary:获取凸形边界

dilation_circle:对边界区域进行膨胀操作

(结构原件为3.5,会变大)

union1:将膨胀的区域合并成一个区域

(跟union2相比这个更为简练切便捷)

edges_sub_pix:便捷提取

select_shape_xld:对边界的轮廓进行过滤

(保留长度在范围[10-200]之间)

union_adjacent_contors_xld:将相邻的轮廓合并为一个轮廓

fit_rectangle2_contour_xld:将合并后的轮廓 合并为一个仿射矩形轮廓 (仿射) 创建一个矩形  获取数据。

gen_rectangle2_contour_xld:生成放射轮廓

 

halcon中的remove_obj操作_区域合并_04

halcon中的remove_obj操作_学习_05

halcon中的remove_obj操作_学习_06

 四、根据颜色提取想要的目标对象(练习)

for i := 1 to 2 by 1

(i是索引值,1to2是从第1个索引到第2个)

decompose3:获取一个三通道图像里面的每个通道的图像

trans_from_rgb:将RGB三通道数据转化为HSV色彩空间的三通道图像数据。因为我们的RGB不利于我们去查找。

(H 代表色调  S 代表饱和度  V 代表亮度)

threshold:对HSV图像中的饱和度通道进行阈值处理 。

(步骤:先将三根饱和度差不多的过滤出来)

reduce_domain:获取上述法制操作后区域的色调通道图像。

(将上面筛选后的图像从 H 色调中剪切)

closing_circle:对过滤出来的区域进行闭运算。

(先膨胀后腐蚀,目的是为了填充物体的一些空隙 面积不会改变)

halcon中的remove_obj操作_区域合并_07