opencv与mfc联合使用时

19 篇文章 2 订阅

opencv 与mfc一起使用时,在退出程序时,会出现 、 6A 70 63 00 等内存泄漏。

原因

只要程序中使用Mat 、Iplimage 、 CvMat 这几个类型,在退出时都会有内存泄漏。 可以单独创建一个程序,只定义这几个变量,发现确实是有。

主要解决办法:

MFC下使用opencv出现内存泄露的解决办法

https://blog.csdn.net/libaineu2004/article/details/104399645?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

可以再对opencv的函数进行二次封装成dll,而且dll中不能含有这几个类型的参数,这样的话是可以的。可以用uchar来代替mat

将”配置属性>常规>MFC的使用“ 由“在共享 DLL 中使用 MFC”修改为“在静态库中使用 MFC”。 这个方法修改后本程序中仍然有内存泄漏,不好用。

{302} normal block at 0x01353308, 52 bytes long.
 Data: <  J             > 00 AF 4A 01 00 00 00 00 00 00 00 00 00 00 00 00 
{298} normal block at 0x014AAA48, 47 bytes long.
 Data: <JPEG-2000 Code S> 4A 50 45 47 2D 32 30 30 30 20 43 6F 64 65 20 53 
{297} normal block at 0x014A7D38, 4 bytes long.
 Data: <jpc > 6A 70 63 00 
{296} normal block at 0x014A7DF8, 4 bytes long.
 Data: <jpc > 6A 70 63 00 
{295} normal block at 0x014AAB20, 51 bytes long.
 Data: <JPEG-2000 JP2 Fi> 4A 50 45 47 2D 32 30 30 30 20 4A 50 32 20 46 69 
{294} normal block at 0x014A7C18, 4 bytes long.
 Data: <jp2 > 6A 70 32 00 
{293} normal block at 0x014A7B88, 4 bytes long.
 Data: <jp2 > 6A 70 32 00 
{292} normal block at 0x014AD428, 56 bytes long.
 Data: < " {            > B8 22 17 7B 00 00 00 00 00 00 00 00 CD CD CD CD 
{291} normal block at 0x01352610, 908 bytes long.
 Data: <                > 00 00 00 00 00 00 00 00 00 00 00 00 80 02 00 00 
{290} normal block at 0x014AD490, 56 bytes long.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值