Halcon PDF文档(hdevelop_users_guide)学习总结之七——关于Halcon语法























  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HDevelop中使用`gen_measure_rectangle2`函数实现矩形测量,可以按照以下步骤进行: 1. 打开HDevelop开发环境,创建一个新的程序。 2. 读取图像并显示: ```HDevelop read_image(Image, 'test.jpg') dev_set_window ('fit') dev_display(Image) ``` 3. 创建矩形测量区域: ```HDevelop create_measure_rectangle2(Row, Column, Phi, Length1, Length2, ImageWidth, ImageHeight, &MeasureHandle) dev_display(MeasureHandle) ``` 其中,`Row`和`Column`表示矩形中心点的行列坐标,`Phi`表示矩形相对于X轴的旋转角度,`Length1`和`Length2`分别表示矩形的长和宽,`ImageWidth`和`ImageHeight`分别表示图像的宽和高,`MeasureHandle`表示测量区域的句柄。 4. 定义测量参数: ```HDevelop MeasureThreshold := 20 MeasureTransition := 'positive' MeasureSelect := 'all' MeasureInterpolation := 'bicubic' MeasureSigma := 1.0 MeasureAngle := 'use_polarity' MeasureSubPixel := 'no_refinement' MeasureRoi := 'no_pregeneration' ``` 5. 执行矩形测量: ```HDevelop gen_measure_rectangle2(MeasureHandle, Image, 'first', 'last', 1, MeasureTransition, MeasureSelect, MeasureThreshold, MeasureRoi, MeasureAngle, MeasureSubPixel, &ResultRow, &ResultColumn, &ResultPhi, &ResultLength1, &ResultLength2) ``` 其中,`Image`表示输入图像,`ResultRow`、`ResultColumn`、`ResultPhi`、`ResultLength1`和`ResultLength2`分别表示测量结果中矩形中心点的行列坐标、旋转角度、长和宽。 6. 输出测量结果: ```HDevelop disp_message(WindowHandle, 'Row: '+ResultRow.ToString(), 'window', 12, 12, 'black', 'true') disp_message(WindowHandle, 'Column: '+ResultColumn.ToString(), 'window', 24, 12, 'black', 'true') disp_message(WindowHandle, 'Phi: '+ResultPhi.ToString(), 'window', 36, 12, 'black', 'true') disp_message(WindowHandle, 'Length1: '+ResultLength1.ToString(), 'window', 48, 12, 'black', 'true') disp_message(WindowHandle, 'Length2: '+ResultLength2.ToString(), 'window', 60, 12, 'black', 'true') ``` 其中,`WindowHandle`表示显示结果的窗口句柄。 完整代码如下: ```HDevelop read_image(Image, 'test.jpg') dev_set_window ('fit') dev_display(Image) create_measure_rectangle2(Row, Column, Phi, Length1, Length2, ImageWidth, ImageHeight, &MeasureHandle) dev_display(MeasureHandle) MeasureThreshold := 20 MeasureTransition := 'positive' MeasureSelect := 'all' MeasureInterpolation := 'bicubic' MeasureSigma := 1.0 MeasureAngle := 'use_polarity' MeasureSubPixel := 'no_refinement' MeasureRoi := 'no_pregeneration' gen_measure_rectangle2(MeasureHandle, Image, 'first', 'last', 1, MeasureTransition, MeasureSelect, MeasureThreshold, MeasureRoi, MeasureAngle, MeasureSubPixel, &ResultRow, &ResultColumn, &ResultPhi, &ResultLength1, &ResultLength2) disp_message(WindowHandle, 'Row: '+ResultRow.ToString(), 'window', 12, 12, 'black', 'true') disp_message(WindowHandle, 'Column: '+ResultColumn.ToString(), 'window', 24, 12, 'black', 'true') disp_message(WindowHandle, 'Phi: '+ResultPhi.ToString(), 'window', 36, 12, 'black', 'true') disp_message(WindowHandle, 'Length1: '+ResultLength1.ToString(), 'window', 48, 12, 'black', 'true') disp_message(WindowHandle, 'Length2: '+ResultLength2.ToString(), 'window', 60, 12, 'black', 'true') ``` 需要注意的是,本示例代码仅供参考,实际使用时需要根据具体情况进行修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值