Opencv FindContours报错的解决方案

近期有做关于提取图像轮廓的MFC程序,opencv的findContours函数是效果挺不错的一个选择。但我的程序在编译完全没问题的情况下出现报错。报错情况如下:
1.Debug版:在析构findContours的vector<vector<cv::Point>>类型参数时,报出的 内存错误。这个原因,有大神已经分析的非常精确了。(见http://blog.csdn.net/auto1993/article/details/52694521,膜拜)。
2.Release版:直接在调用findContours函数时就触发断点。
根据网上多位大神的总结和分析,大神们提出的方法我都单独试过,对我的程序均无效。于是我开始综合交叉试验:

1.Debug版本与Release版本的链接库分开链入。Debug版链入“opencv_world320d.lib”,而Release版链入"opencv_world320.lib"。(未解决)
2.在1的基础上,我手动为vector分配了大小:vector<vector<cv::Point>>m_vector_contours(1000);
    结果发现Release版本起效了,而Debug版仍旧报错。(未解决)
3.将Debug版本配置为“在共享DLL中使用MFC”。(问题解决!)
至此,Release版和Debug版运行均无报错。

问题虽然解决了,但我仍是满脑的疑问。(非编程专业人员的悲哀...)如有哪位大神走过路过,欢迎讨论。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值