HALCON学习HelloWorld
本篇记录我的第一个Halcon程序(12.0)
本文参考官方帮助手册,源程序在最后,有需要的可以参考下
步骤
- 打开软件
2. 选择开始界面的右上角的编程向导
图1软件开始界面
- 根据指导依葫芦画瓢就O了
在这里贴上本测量项目的图片,有需要的童鞋可以下载一下
本项目源码,注释为本人对其的了解加百度的结果,如有不对请多多指出,在此谢过
dev_open_file_dialog ('read_image', 'default', 'default', Selection)
dev_open_window(0, 0, 512, 512, 'black', WindowHandle)
*加载图像到Clip变量
read_image (Clip, Selection)
*分隔图像Clip,最小灰度0,最大灰度56,输出到Region变量
threshold (Clip, Region, 0, 56)
*区域连接,把区域分割成若干连通子集
connection (Region, ConnectedRegions)
*Choose regions with the aid of shape features.
*通过形状特征选择区域
*被选择的区域
*满足条件的输出
*选择方式为area(面积)
*and:全部特征
*范围为4`40-5964
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 4140, 5964)
*区域方向计算
*输出范围为[-pi,pi) 。表示将区域拟合为最小椭圆时,该椭圆长轴与水平方向的夹角。
*并且长轴尖锐的一侧为正方向,当长轴两侧尖锐情况相同时(比如矩形)坐标小的一侧为正方向。
orientation_region (SelectedRegions, Phi)
*获取区域的中心与面积
area_center (SelectedRegions, Area, Row, Column)
*|Phi|得到数组长度
for Index := 0 to |Phi|-1 by 1
*Set the position of the text cursor
*鼠标句柄3600?
set_tposition (3600, Row[Index], Column[Index])
write_string (3600, deg(Phi[Index]) + ' degrees')
endfor
get_image_size(Clip, Width, Height)
*set_part (WindowHandle, 0, 0, Width - 1, Height - 1)
dev_display(SelectedRegions)