NCC模板匹配,C#耗时长导致软件卡死问题

1、下图用作NCC模板图像,图像大小2248*2048,红色区域创建模板;
yongzuo在这里插入f图片描述
2、下面是halcon代码,设置模板创建和查找参数,在halcon这里创建模板和查找模板都OK。只是图像是500万像素,根据模板区域大小和查找角度范围等设置,我这里创建模板耗时10多秒。
在这里插入图片描述
3、转换到C#代码后,创建模板OK,我在halcon读取C#保存下来的模板,原图查找模板也OK。 但是在C#查找模板就会卡死,打断点发现就是执行到.FindNccModel这里一直卡住,有时捕获异常报内存不足,猜测是执行到这里耗内存耗时间太长。补充一个现象:模板保存下来后,C#读取模板匹配原图却不会卡死,很快找到模板,耗时和halconDemo软件差不多。所以考虑在创建模板后,调用GC.colllect(),再去查找模板,结果测试也不行;
在这里插入图片描述
4、既然是内存问题,那我换一种方式处理:zoom_image_factor (ImageReduced, ImageZoomed, 0.6, 0.6, ‘constant’) ,先将图像的分辨率变小,创建模板和查找模板都用分辨率变小后的图,将问题解决。不是所有项目都可以这样,我这里只需要判断物料的方向和角度,不做精准的定位,所以降低原图分辨率无碍;

5、总结: NCC模板创建很耗时,注意图像大小和模板参数设置,最好用64位系统(内存缓存处理空间比32 更大);

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值