CV环境配置反思

Opencv环境配置

win10+CV3.4.1

以前学习OpenCV的时候是用python版本的,但是现在需要学习C++版本。想着以前配置python版本的是多么容易,但一顿操作下来,硬是被卡了好久才在今天早上排除了所有bug配置成功,真的是心塞塞啊。

面向google编程是最胖的,先写下配置的最正常的教程吧。

1.安装opencv

把Opencv下载下来的包extract到指定的目录,比如我就放在了“C:\”中。在linux系统中下载source file,自己用cmake编译,会要一点时间。

2.配置系统环境变量

虽然我去学习了下系统path底下的环境配置相关的知识,有一点了解“”%xxx%"和“;”大概是什么意思,但是没有了解到精髓,所以开始作死在bin的最后加了个“;”,导致开始环境配置的不对。后来尝试出了这个问题,配置成功的结果是,在命令行下能直接运行bin目录下的.exe,不用开管理员模式

这里需要注意的是opencv的x64目录底下有两个文件夹,一个是vc14->VS2015,一个是vc15->VS2017,不要搞错了。还有就是环境变量的配置要重启电脑后才能生效。

3.在VS中配置包含目录个库目录

先在VS里面创建空的工程,然后打开属性管理器。

由于要用到的是x64下的Debug模式,所以在这里设置相应的属性。

首先配置的是包含目录以及库目录。这样就可以在包含头文件的时候少输入一些东西。

包含目录包括三个,以目前我的配置为例:

C:\opencv\build\include

C:\opencv\build\include\opencv

C:\opencv\build\include\opencv2

库目录只有一个,即:

C:\opencv\build\x64\vc14\lib

接下去是配置链接器的附加依赖项,好让VS在编译的时候找得到对应的文件。在目录C:\opencv\build\x64\vc14\lib下面有两个.lib分opencv_world341d.lib和opencv_world341.lib

两个区别在于前者用于debug后一个用于release。所以在此处添加了前者。

写入程序并且把图片放在.cpp所在的文件夹中

按理说完成了上述的步骤就可以按F5运行了,要是能这么轻松那就再好不过了,可是事实往往不会是这样滴,这才是恶心的地方哦。

1. 首先遇到的问题是各种找不到PDB文件,记得当时在linux下也有这个问题。在VS下这个解决的办法就是设置让它自动联机去下载,载完后把它关了。在调试>选项中找。勾上下面两个运行就会下载了。

2. 但是解决这个问题后还是有问题。接下去这个问题才是我整个配环境中的问题关键所在,百度、google、csdn......都救不了我的地方。因为基本上的教程都是说把图片放到.cpp目录下就好了,我也放了呀,可是还是没用,以至于让我怀疑放在哪个文件夹底下是否有用?而且前面的符号因为下载了都加载进来了,唯独opencv_world341d.dll无法查找或打开。还有一种说法是图片找不到,但是从代码中很清楚确实是图片找不到,可是我已经放上去了,就这个问题搞了我一天也没搞出来,还让我怀疑人生地卸载了VS2017花了半个小时左右,装VS2015装了3个多小时,半夜看着慢慢地安装真是苦不堪言。

直到今天早上我又安装常规的配置教程研究了一番,还是没任何收获。直到一个想法闪过我的脑海:图片是不是有问题

/***********分割线************/

这下就有必要解释下我的图片问题了。我原来随便到我以前的图片库存里找了一张图片,也没想到的是找的那么巧,我看到一个魔性的表情包,就是下面这个

对,它是一张.GIF的动图,那么为了能用这个表情包,我就手动把它的格式转换成了.jpg,想想很正常,可是问题就出在了这里。哇,我本来想传上被我转换后的.jpg图的,结果传上来显示出他的格式还是.gif的,这下问题就非常明朗了。于是当时抱着试一试的心态,换了一张以前solidworks做出的图片,再调了下代码,EMMMMMMMMMMM,就成功了!!!!真的是把我开心坏了~~~~~~~

恩,虽然说起来就这么点BUG,但是为了搞清楚是什么BUG,花了太多心思去想了,终归还是自己太cai了,再也不敢那么皮了......

作者/meloneater

长按二维码关注哦

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180609G0X5J100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券