findContours异常问题

出错原因

    1) VS版本与OpenCV VS版本不匹配

    2) Opencv与Debug与Release与VS工程的配置不一致

最近在做一个轮廓检测的项目,其中需要用到findcontour函数对二值图像的轮廓进行提取,然而在使用时却出现了许多问题,在DEBUG模式下总是会报错“.......exe have triggered a breakpoint.在网上查找了一些资料主要是动态库连接问题,最终也没能解决我的问题。结合网友的资料,我重新看了下opencv的配置,发现了问题,在连接器的配置中我加入了world_ts300.lib,和world_ts300d.lib;也就是说我加入了release和debug版本的库,而我是在DEBUG 模式下运行的,也许对于其他的函数无影响,但是对于findcontours函数来讲这是有区别的,于是我将上述两个库的加载顺序改变了一下,world_ts300d在前,world_ts300在后,或者我们可以删除其中的某一个库都行,这根据自己的习惯来决定,自行选用DEBUG 或者RELEASE 版本。总的来讲就是说我们在配置的时候要养成好习惯,对于每一个工程对应于相应的配置文件。

1.1 配置opencv3.1环境

      1)配置包含目录和库目录


 2)配置opencv依赖库


1.2 opencv3.1运行模式配置

     配置运行库:

     1)外部连接依赖为:opencv_world310.lib:(Release模式)

          则运行库配置为/MT或/MD才能正常工作

     2)  外部连接依赖为:opencv_world310d.lib:(Debug模式)

          则运行库配置为/MTd或/MDd才能正常工作


参考

https://blog.csdn.net/gavinv/article/details/51669354

https://blog.csdn.net/myarrow/article/details/51538003

猜你喜欢

转载自blog.csdn.net/fu6543210/article/details/79926976