部分积累自重码网视频
1.dev_update_off、dev_update_on
一般dev_update_off放在开始,dev_update_on放在程序结束
dev_update_window:定义 程序执行打开和关闭期间,图像对象是否在图形窗口中显示;在单步模式下,该规则无效,单个算子调用以后,对象总是显示在图形窗口上;在测量一系列算子的运行时间的时候,应该设置为OFF,以减少HDevelop中GUI更新的运行时间的影响
dev_update_pc:在程序执行期间,控制程序计数器的更新
dev_update_var:在程序执行期间控制变量窗口的更新或关闭,则每当程序修改变量时,更改变量窗口(图标和控件变量)的内容。 dev_update_time:控制是否显示算子的执行时间
2.Halcon基本语法
等号: :=
不等号: #
注释符: *
字符串赋值: str:=’halcon’
等于比较符: if(X=10)
与: if(A>1 and A<30)
或: if(A>1 or A<30)
求反: if(not(A=10))
For 循环
for I := 0 to NumBalls - 1 by 1
endfor
While 循环
while (x== 1)
Endwhile
异常获取:
Try
catch (Exception)
Endtry
Switch多分支:
switch (Index)
case 1:
break
case 2:
break
case 3:
break
default:
break
endswitch
3.字符数组格式化
i1 := 123$'#o' //8进制,0为前缀
i2 := 123$'#x' //16进制,0x为前缀,7b为赋值
i3 := 123$'#X' //16进制,0x为前缀,7B为赋值,7b与7B是一样的
i4 := 123$'#f' //double型,默认保留小数点后六位.
i5 := 123$'#g' //使数字始终保持六位,不足补零.
i6 := 123$'#G' //使数字始终保持六位,不足补零.
i7 := 123$'#e' //转换成科学计数
i8 := 123$'#E' //转换成科学计数
*****************整数*****************
d1 := 123$'6' //小于六位时,文本右对齐,大于不影响
d2 := 123$'-6' //小于六位时,文本左对齐,大于不影响
d3 := 123$'.6' //小于六位时,在左边补零,大于不影响
d4 := 12345$'10.5' //小于10位时,文本右对齐;小于5位则在左边补零,大于不影响
*****************文本*****************
s1 := 'Hugo'$'10' //文本右对齐
s2 := 'Hugo'$'-10' //文本左对齐
4.开运算
开运算:先腐蚀后膨胀的过程称为开运算,作用:去除孤立的小点,毛刺,消除小物体,平滑较大物体边界,同时不改变其面积.
opening_circle (上图, 下图, 5)
5.闭运算
先膨胀后腐蚀的过程是闭运算。作用:填充物体内细小的空洞,连接临近物体,平滑边界,同时不改变其面积。
closing_circle (上图, 下图, 15)
6.fill_up_shape和fill_up的区别
fill_up_shape(Region : RegionFillUp : Feature, Min, Max : )是填充Region区域内某些特征在设定范围的空洞后输出区域为RegionFillUp。
fill_up(Region : RegionFillUp : : )是直接填充区域内所有的空洞,也就是说如果把填充后的区域conn打散其个数为1.
7.Halcon多窗口
dev_set_window(::WindowHandle:):将指定窗口设置为活动窗口。
8.区域特征(部分)
9.预处理
10.凸性convex
区域转化为凸性,区域内任意两点相连线段都在其区域内。
11.Halcon内部如何计时
count_seconds (Second0)
****
****
****
count_seconds (Second1)
Time:=Second1-Second0 单位ms