halcon视觉第二十五讲 Halcon实例判断回形针方向


*打开一张图像

read_image (Clip, ‘clip’)

*获取图像大小

get_image_size (Clip, Width, Height)

*关闭已经打开的窗口

dev_close_window ()

*打开新窗口

dev_open_window (0, 0, Width / 2, Height / 2, ‘black’, WindowID)

*在新窗口里显示图像

dev_display (Clip)

*设置窗口字体显示,字体大小,字体样式,粗体,斜体

set_display_font (WindowID, 14, ‘mono’, ‘true’, ‘false’)

*在窗口右下方显示”Press Run (F5) to continue”字样

disp_continue_message (WindowID, ‘black’, ‘true’)

*停止程序的执行

stop ()

*二值化操作

binary_threshold (Clip, Dark, ‘max_separability’, ‘dark’, UsedThreshold)

*将区域进行连通处理

connection (Dark, Single)

*过滤出面积大小在【5000, 10000】范围里的区域

select_shape (Single, Selected, ‘area’, ‘and’, 5000, 10000)

*设置区域的填充方式

dev_set_draw (‘fill’)

*设置输出显示对象的颜色数目

dev_set_colored (12)

*在窗口右下方显示”Press Run (F5) to continue”字样

disp_continue_message (WindowID, ‘black’, ‘true’)

*停止程序的执行

stop ()

*显示图像

dev_display (Clip)

*设置输出对象的颜色为绿色

dev_set_color (‘green’)

*显示过滤后的区域

dev_display (Selected)

*获取过滤后区域的方向

orientation_region (Selected, Phi)

*获取过滤后区域的面积,中心的行坐标,列坐标

area_center (Selected, Area, Row, Column)

*设置输出对象的线宽为3

dev_set_line_width (3)

*设置区域的填充方式

dev_set_draw (‘margin’)

Length := 80

*设置输出对象的颜色为蓝色

dev_set_color (‘blue’)

*在窗口上显示十字

disp_arrow (WindowID, Row, Column, Row - Length * sin(Phi), Column + Length * cos(Phi), 4)

*在窗口上显示回形针的角度

disp_message (WindowID, deg(Phi)$’3.1f’ + ‘ deg’, ‘image’, Row, Column - 100, ‘black’, ‘false’)


  目录