六.Halcon控制循环算子

条件<condition> ,<condition> 内为计算成an integer or boolean value的表达式。六.Halcon控制循环算子

表达式的值1则条件为真,否则为假。

1.if(<condition>)。。。 endif:条件为真时,执行条件后的内容,否则转到endif.

2.if (<condition>)...else...endif:条件为真,执行if...else部分,否则执行else...endif,典型的选择条件语句。

3.elseif相当于算子2的else部分,但是它允许测试一个附件条件。

例如:if (<condition1>)...elseif (<condition2>)...endif 当条件1为假条件2为真时,执行条件2后面的部分。在语法结构上等价于:if (<condition1>)
                               ...
                          else
                          if (<condition2>)
                            ...
                          endif
                        endif

循环控制语句

1.while (<condition>)... endwhile:循环控制结构,当条件为真时,执行循环体。可以利用operator continuebreak操作来重新开始或立刻终止循环。

2.repeat...until (<condition>):循环体至少被执行一次,直到满足条件时退出。

3.for <index> := <start> to <end> by <step>...endfor

halcon最重要的循环结构,呵呵不细说了~同样,可以利用operator continuebreak操作来重新开始或立刻终止循环。

例如:

old_x := 0
old_y := 0
dev_set_color ('red')
dev_set_part(0, 0, 511, 511)
for x := 1 to 511 by 1
y := sin(x / 511.0 * 2 * 3.1416 * 3) * 255
disp_line (WindowID, -old_y+256, old_x, -y+256, x)
old_x := x
old_y := y
endfor

4.continue:强制执行下一个循环。

例如:i := |Images|
while (i)
Image := Images[i]
count_channels (Image, Channels)
if (Channels # 3)
continue
endif
* extensive processing of color image follows
endwhile

5.break:强制退出循环。

例1.

Number := |Regions|
AllRegionsValid := 1
* check whether all regions have an area <= 30
for i := 1 to Number by 1
ObjectSelected := Regions[i]
area_center (ObjectSelected, Area, Row, Column)
if (Area > 30)
AllRegionsValid := 0
break ()
endif
endfor

例2.

while (1)
grab_image (Image, FGHandle)
dev_error_var (Error, 1)
dev_set_check ('~give_error')
get_mposition (WindowHandle, R, C, Button)
dev_error_var (Error, 0)
dev_set_check ('give_error')
if ((Error = H_MSG_TRUE) and (Button # 0))
break ()
endif
endwhile

其他

1.stop:终止后面的循环,点击Step Over or Run button继续。

2.exit:终止Hdevelop程序段。

3.return:从当前的程序返回到正在呼叫的算子。

4.try ... catch ... endtry:异常算子处理句柄

5.throw:允许处理用户定义的意外情况。

 

http://blog.sina.com.cn/s/blog_442bfe0e0100yg0b.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Halcon9点标定算子Halcon机器视觉开发环境中的一个标定工具,用于标定相机在图像捕获中的畸变。由于镜头和相机本身的物理属性,图像上的物体仍然会有一些误差,干扰算法的精度和准确性。因此,使用Halcon9点标定算子对相机进行标定是非常必要的。 该算子工具主要通过分析相机捕获到的不同位置的图像来确定畸变型,并且通过计算出参数进一步用户相机校正图像失真。它需要使用至少9个畸变校正点才能进行标定,这些对象通常包括平面或球体对象,以不同的姿态和角度利用相机进行捕捉。 使用Halcon9点标定算子可以使相机图像更稳定和准确,在机器视觉和自动化生产中更广泛的应用。 ### 回答2: Halcon9点标定算子是一种机器视觉算法,用于对机器视觉系统中相机的物理参数进行标定,以在后续的图像处理过程中准确地转换像素坐标到实际世界坐标。 该算子需要先在被测量物体上贴上多个标记点,通常是不同颜色、不同形状的几何图形,然后通过使用相机拍摄这些标记点的图像,来进行相机的标定。 Halcon9点标定算子的主要流程是:首先采集包含标记点的图像;接着通过图像处理方法提取出标记点的位置信息,对标记点的坐标进行校正;然后将标记点的图像坐标和实际世界坐标作为输入数据,使用标定算法计算出相机的内参和外参参数;最后通过这些参数,将图像坐标转换为实际世界坐标。 由于Halcon9点标定算子可以高精度地对相机进行标定,因此被广泛应用于机器视觉系统中。它的应用领域包括工业测量、机器人视觉、医学图像处理等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值