关于mwwz视觉库内存泄漏、卡死闪退问题的说明

关于内存泄漏

1. mwwz视觉库不存在内存泄漏

基于以下两点事实:

stress test

2. 内存泄漏的常见诱因

使用过程中若出现内存增长,通常是由于未正确释放资源,常见于以下两种情况:

总结:所有创建的模板都需要清除;凡是返回mem_id的接口,均需配对调用clear_mems释放内存。

关于程序卡死与闪退

1. 卡死

卡死问题多出现在早期版本的TemplateMatch.exeTemplateMatchQt.exe两个示例程序中。

主要原因是界面程序与控制台窗口混合使用,当控制台窗口获取焦点后再切回界面时,消息循环被阻塞,导致界面无响应。

该问题属于UI交互层面的问题,并非算法本身引起

2. 闪退

闪退通常由于内存分配失败或访问越界导致,多发生于处理大尺寸图像的场景。

其中TemplateMatch.exe32位程序,受限于用户态虚拟地址空间(约2GB),叠加OpenCV的Mat对象本身也有内存限制,极易触发内存分配失败。

建议:处理大图时,请优先使用64位程序TemplateMatchQt.exe,可有效规避寻址空间不足的问题。

上述卡死与闪退问题,我在早期版本中已修复,后续所有发布版本均默认包含。若仍有问题,欢迎反馈。请放心——该问题源于UI与控制台的交互机制,算法本身并无缺陷

立即下载

下载地址