使用opencv中findcontours函数导致释放内存崩溃问题

A20714032 2015-04-11 03:12:36
整个工程在win32下使用的,而且工程的运行时库都设为MT模式,MFC使用为使用标准windows库,这种情况下使用opencv中findcontours函数就会出现释放内存崩溃问题;如果将运行时库改为MD模式,就会编译成功,而我们现在需要MT模式的,不知道该问题怎么解决呢?烦请高手指教~~


PS:起初以为从网上下载opencv的dll是MD模式的,不支持MT模式的,故自己编译生成MT模式的opencv的dll,这个问题仍然存在,不知道大家有什么好的解决方法?从网上搜到的一些都解决不了。

另外:我使用的是vs2005。
...全文
4359 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shen0715 2017-10-23
  • 打赏
  • 举报
回复 3
是不是vs2015 使用的opencv库不是vc14
鼬爱你 2016-10-28
  • 打赏
  • 举报
回复
请问楼主解决了吗?我也遇到了同样的问题
lanmeng_smile 2016-09-12
  • 打赏
  • 举报
回复
”多线程调试(/MTd)改为多线程DLL调试(/MDd)“ 也不得行啊~
dqq_ 2016-03-26
  • 打赏
  • 举报
回复
我也是同样的错误,折腾半天,最后把运行库:多线程调试(/MTd)改为多线程DLL调试(/MDd)就好了.....
  • 打赏
  • 举报
回复
同样的问题 CV_Assert(i < 0);//i==0
  • 打赏
  • 举报
回复
同样的问题 CV_Assert(i < 0);//i==0 findcontours的第二各参数Create的时候调用崩溃
baidu_33224861 2015-12-02
  • 打赏
  • 举报
回复
请问楼主用的是VS2005+OPENCV3.0吗
周作才 2015-10-23
  • 打赏
  • 举报
回复
有可能是你输入函数的图像没有二值化
A20714032 2015-05-20
  • 打赏
  • 举报
回复
引用 1 楼 prfans1 的回复:
一个是加载的库不合适。 另外,findcontour用过没问题啊。
采用MD模式也是没有问题的,改成MT模式就出现崩溃了,不知道你使用的是哪种模式?
赵4老师 2015-04-16
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
prfans1 2015-04-16
  • 打赏
  • 举报
回复
一个是加载的库不合适。
另外,findcontour用过没问题啊。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧