当前位置:网站首页>OpenCV3.0 兼容VS2010与VS2013的问题
OpenCV3.0 兼容VS2010与VS2013的问题
2022-08-05 05:18:00 【cql_cqu】
转载:https://blog.csdn.net/fioletfly/article/details/47280727?utm_source=blogxgwz0
1. OpenCV3.0 基本的配置
这几天被OpeCV3.0折腾的死去活来的,主要是由于目前Visual studio 在2010 余2013之间切换。所以有的时候自己虽然配置好了,但是为了让这两个版本跑起来总是有各种各样的错误。真的让人感到非常困惑,关于配置这里就不说了,百度一下大把,而且跟2.x版本的配置几乎是一样样的。
VS2013 上的配置:
包含库目录
上面的配置已完成基本就ok了。
VS2010的配置:
2. 问题的产生
举一个简单的例子来说明发生的问题,需找轮廓的函数:findcontours。
<span style="font-size:14px;">void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierar-
chy, int mode, int method, Point offset=Point())</span>
<span style="font-size:14px;">void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierar-
chy, int mode, int method, Point offset=Point())</span>
我以为根据基本的配置,在VS2010余VS2013上面就可以同时跑起来,因为在工程属性中都配置好了,详见上图。跑同样一段代码和处理同样的一幅图片,接下来问题来了。这里要实现告诉大家,我是先使用VS2010,所以openCV3.0也就是最先应用在VS2010上面的,所以在VS2010跑的很欢,但是移植到VS2013时就出现各种奇奇怪怪的问题。
详细的问题见对比图:
VS2010中找到的轮廓点,很正确
VS2013中找到的轮廓点,要崩溃了,这么大
所以这里就直接报错了。
3. 问题的查找
想了半天也不知道错误在哪里,总怀疑自己的图像 有问题,但是查来查去没有没有看到什么名堂。这里我又仔细一边调试边查看代码,终于有提示了
,真的是伟大的VS2013附体啊,不然还真的看不出来啊。
这是几个意思啊,我不是明明加入了进来了吗?哦等等,好像没有,因为这里依赖库只是加入这个几个名字,并没有加入具体的地址。而在依赖库中仅
仅要求lib文件的引用,我心想干脆直接将dll这个文件也引用下来,会不会没有问题。但是好像依然没有效果,也就是说这里不会调用dll,而且这个dll是
不会从依赖库中来调用。后来上网一查,
你的opencv配置的bin目录里面的东西,是在下面面的那个目录下面吧
C:\Windows\System32\opencv_world300d.dll
4. 问题的解决
根据上面提示就知道,只有将...\opencv\build\x86\vc12\bin文件的几个文件夹copy到C:\Windows\System32 就好了。但是问题就解决了一半啊,那VS2010又不能用了,所以这个折腾啊。看来以后尽可能的用在一个平台上面跑吧。
5. 尾巴
这里需要提醒大家:据我实验的是,最新版本的openCV3.0 好像不支持VS2010,因为在build文件里面只有vc11,vc12. 也就是说仅仅支持VS2012,VS2013. 看来要放弃VS2010. 不知道有没有高手可以解决这个问题啊。或者直接在VS2010使用vc11或vc12, 这个没有试过啊,大家可以尝试一下,好像用CMake编译可以使用在VS2010,VS2008,VS2005等。
目前我使用的是openCV3.0 Beta版本是支持vs2010,vs2012,vs2013的。大家可以试试这个版本,beta版本还是比较稳定的。
希望这个能够帮助到大家,这些纠结的人。
边栏推荐
猜你喜欢
URP渲染管线实战教程系列 之URP渲染管线实战解密(一)
深度学习系列(二)优化器 (Optimization)
C语言入门笔记 —— 分支与循环
【3D模型教程】ZBrush如何表现皮肤纹理?
OSPF故障排除办法
每日一题-删除链表的倒数第 N 个结点-0718
[Paper Intensive Reading] Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation (R-CNN)
【UiPath2022+C#】UiPath If条件语句
每日一题-最长回文子串-0714
1004 成绩排名 (20 分)
随机推荐
(C语言)strlen、strcpy、strcat、strcmp、strstr函数的模拟实现
Redis设计与实现(第三部分):多机数据库的实现
八、响应处理——ReturnValueHandler匹配返回值处理器并处理返回值原理解析
Contextual non-local alignment of full-scale representations
每日一题-三数之和-0716(2)
【UiPath2022+C#】UiPath控制流程概述
游戏引擎除了开发游戏还能做什么?
深度学习系列(一)简介、线性回归与成本函数
CIPU,对云计算产业有什么影响
GIS面试问题
D46_给刚体施加的力
Jupyter notebook选择不同的Anaconda环境作为内核运行
八、请求处理之自定义类型参数绑定原理
每日一题-盛最多水的容器-0716
D45_摄像机组件Camera
huatuo 革命性热更新解决方案系列1·1 为什么这么NB?huatuo革命Unity热更新
每日一题-下一个排列-0723
每日一题-删除链表的倒数第 N 个结点-0718
函数在开发环境中的应用(简易实例)
网络通信及相关函数介绍