概述
halcon引擎方式存在一个bug,今天用了半天的时间发现了这个无厘头的bug,记录下来,以防这种情况再坑人,同时警示大家在学习商业库时,也不能丢掉开源库
建议
1、针对引擎调用hdvp方法时,对于HObject对象在使用之前一定都加上gen_empty_obj,一定!
2、不管是传统视觉和AI,尽量使用开源的技术,开源,开源,开源...
一、算子说明
gen_empty_obj( : EmptyObject : : )
Create an empty object tuple.
创建一个空的object对象
二、测试
在hdvp函数里面不需要使用gen_empty_obj算子,因为hdvp自带内存管理,导出来的混编函数代码可以看出来,没有HObject对象均有内存的创建和释放,eg:
//默认会新建空的内存块
HOperatorSet.GenEmptyObj(out ho_MembranceRectangle);
//...
//使用该对象前
ho_MembranceRectangle.Dispose();
//....
//使用该对象后
ho_MembranceRectangle.Dispose();
本文介绍了在使用Halcon引擎时遇到的一个内存管理问题,强调了在调用hdvp方法时使用gen_empty_obj算子的重要性。作者通过测试发现,不使用gen_empty_obj可能会导致内存遗留问题,影响结果准确性。最后,作者提醒开发者重视开源技术和底层工作,以避免类似问题并应对技术壁垒。
订阅专栏 解锁全文
385

被折叠的 条评论
为什么被折叠?



