VS 下使用findcontours函数触发断点问题解决方案
2016-06-14 10:31
387 查看
因为最近在做一个轮廓检测的项目,其中需要用到findcontour函数对二值图像的轮廓进行提取,然而在使用时却出现了许多问题,在DEBUG模式下总是会报错“.......exe have triggered a breakpoint.在网上查找了一些资料主要是动态库连接问题,最终也没能解决我的问题。于是准备转而使用CVfindcontours函数进行,但是心里不是很痛快。毕竟在使用opencv3.0 所以我决定解决这个问题,结合网友的资料,我重新看了下opencv的配置,发现了问题,在连接器的配置中我加入了world_ts300.lib,和world_ts300d.lib;也就是说我加入了release和debug版本的库,而我是在DEBUG
模式下运行的,也许对于其他的函数无影响,但是对于findcontours函数来讲这是有区别的,于是我将上述两个库的加载顺序改变了一下,world_ts300d在前,world_ts300在后,或者我们可以删除其中的某一个库都行,这根据自己的习惯来决定,自行选用DEBUG 或者RELEASE 版本。总的来讲就是说我们在配置的时候要养成好习惯,对于每一个工程对应于相应的配置文件。而不是像网上所讲的加入的越多越好。这是我对这个问题的一点见解,并非具有普世价值,水平有限多多谅解。
改正之后的配置文件:
部分代码:
网友提出的 :vector<Mat> contours;
Mat hierarchy;
仍然没有解决问题,但是代码是可以运行的,查看findcontours的源码,可以看到其需要的vector于std的vector是相同的,因此网上的说这两个不同的说法是错误的。同 时我们也可以看出find从tours函数是支持Mat的。
改正之后的程序运行效果图:CANNY
CONTOURS:(加入了一些删减的操作)
以上是我解决这个问题的方案,因为网上众说纷纭,所以想要给出一个相对更加完善的解决方案。
模式下运行的,也许对于其他的函数无影响,但是对于findcontours函数来讲这是有区别的,于是我将上述两个库的加载顺序改变了一下,world_ts300d在前,world_ts300在后,或者我们可以删除其中的某一个库都行,这根据自己的习惯来决定,自行选用DEBUG 或者RELEASE 版本。总的来讲就是说我们在配置的时候要养成好习惯,对于每一个工程对应于相应的配置文件。而不是像网上所讲的加入的越多越好。这是我对这个问题的一点见解,并非具有普世价值,水平有限多多谅解。
改正之后的配置文件:
部分代码:
网友提出的 :vector<Mat> contours;
Mat hierarchy;
仍然没有解决问题,但是代码是可以运行的,查看findcontours的源码,可以看到其需要的vector于std的vector是相同的,因此网上的说这两个不同的说法是错误的。同 时我们也可以看出find从tours函数是支持Mat的。
改正之后的程序运行效果图:CANNY
CONTOURS:(加入了一些删减的操作)
以上是我解决这个问题的方案,因为网上众说纷纭,所以想要给出一个相对更加完善的解决方案。
相关文章推荐
- Patrol 7 架构下?的处理方法
- 中病毒后常用的解决方法病毒终极解决方案
- QQ尾巴 InfoMs.Ime 解决方案
- IE对CSS样式表的限制分析与解决方案
- 开源MySQL高效数据仓库解决方案:Infobright详细介绍
- 惊现支撑1亿pv/天的超级数据库解决方案
- 关于bluehost空间上wordpress后台变为英文的解决方案
- select * from sp_who的解决方案
- python中使用OpenCV进行人脸检测的例子
- opencv 做人脸识别 opencv 人脸匹配分析
- 使用opencv拉伸图像扩大分辨率示例
- 简析Oracle数据库常见问题及解决方案
- php+mysql大量用户登录解决方案分析
- 常见PHP数据库解决方案分析介绍
- Android Studio中配置OpenCV库开发环境的教程
- 基于C++实现kinect+opencv 获取深度及彩色数据
- visual studio 2012安装配置方法图文教程 附opencv配置教程
- OpenCV 2.4.3 C++ 平滑处理分析
- asp.net操作过程中常见错误的解决方法
- Python中使用OpenCV库来进行简单的气象学遥感影像计算