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基本语法

等号 :=
不等号 #
注释 *
字符串赋值 :=
是否等于 if(x=10)
条件与 if(A>1 and B<9)
条件或 if(A>1 or B <9)
条件取反 if(not(A=10))
for循环 for i:=0 to 10 by 1     ......     endfor
while循环 while(x=1)   ......   endwhile
switch多分支 switch(Index)   case 1: break  case 2: break  default break   endswitch
异常获取 try ... catch(Exception) ... endtry

3.字符数组格式化

  

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.区域特征8

9.预处理

10.凸性convex:区域转化为凸性,区域内任意两点相连线段都在其区域内。

11.Halcon内部如何计时

count_seconds (Second0)

****

****

****

count_seconds (Second1)

Time:=Second1-Second0   单位ms
Halcon计时

 12.几何运算

  Point Line Line Segment Contour
Point distance_pp distance_pl distance_ps distance_pc
Line distance_pl - distance_sl distance_lc
Line Segement distance_ps distance_sl distance_ss distance_sc
Contour distance_pc distance_lc diatance_sc

distance_cc

distance_cc_min

Region distance_pr distance_lr distance_sr -

13.