Halcon/C#混合编程实现任意图片的原始长宽比显示+形状匹配定位

前两天给新入职的同事提供培训材料,写了一个简单的Halcon/C#混合编程实例。
该实例可以解决Halcon在VS中的控件hControlWindow中,在UI交互时由于窗口长宽比例与所读取的原始图像比例不一致所导致的拉伸现象。同时给出形状匹配定位的功能。
该实例是一个较完整的算法-软件-交互实例。除了图像采集之外,已含有从Halcon算法到功能实现-UI交互-结果展示的完整逻辑。
可以通过以下链接下载源码,包括halcon文件和C#完整代码:
https://download.csdn.net/download/horsee/10649954


程序展示大致如下:

1. 读取一张图片并显示

这里写图片描述
注意这张图片显示在窗口中右侧黑色的区域不是图片本身的,而是因为窗口的长宽比与图片的长宽比不一致,本例中采取了放缩处理来保证正确的长宽比;

2. 利用对象的形状特征制作模板

这里写图片描述
制作好的模板保存在bin/debug/Templete.shm之中

3. 立即返回模板中所找到的对象信息

如图显示给出了形状模板在图像中的中心点位置Row Column,模板的旋转角度以及形状匹配的得分,找到的形状轮廓在图中以红色轮廓线显示:
这里写图片描述

4. 在另一幅移动了对象位置的图片中定位该对象

如图所示找到的轮廓是以绿色轮廓线显示:
这里写图片描述

5. 如果没有找到对象

则将所有的定位信息赋值为-1,如图中采用了三角形空洞作为形状模板,则在某幅图片中无法定位;
这里写图片描述
这里写图片描述


程序要点:
1. 关于长宽比放缩,已在另一博文中作过描述:
https://blog.csdn.net/horsee/article/details/80136622
此处需要注意的是,在UI中显示找到的轮廓线时,也需要通过hv_rate参数进行尺寸的放缩,具体实现方式详见资源代码;
2. 查找形状模板用到了Halcon中的create_shape_model算子和find_shape_model算子,形状模板文件为循环覆盖的方式存在在debug文件夹之下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值