目录
用了Opencv一段时间了,简单记录一下opencv在vs2015下的配置。
第一部分:OpenCV3.2.0的下载
OpenCV官方下载地址: https://opencv.org/releases.html#
根据自己的电脑下载,windows选择win pack,版本号可根据需求自行选择,一般选第一个最新版就好了。下载完成后,双击进行安装(实际就是一个解压过程) 自己选择好安装路径。
【建议】在英文路径下,不用有中文和空格 ,最好也不要安装在C盘中。(C盘操作基本需要管理员权限,一不小心就会坑)
第二部分:配置Path系统环境变量
此电脑-右键“属性”-高级系统设置 (在左侧)
点击环境变量(右下方):
找到系统变量中的Path进行编辑
把之前解压(安装)好的OpenCV路径下的bin路径添加到Path系统环境变量中。
主意是bin路径,我的是C:\Program Files (x86)\opencv\build\x64\vc14\bin(忽略我装在了C盘,正因为我装在了C盘,所以不建议大家装在C盘)
【建议】重启电脑,其实也不用,但是重启一下还是好的。注意别点了取消,功亏一篑,配置好了一路点确定就行了。
第三部分:VS2015中配置OpenCV
Visual Studio2017(因为官网显示2017,暂用2017做示范)官方下载地址:
https://www.visualstudio.com/zh-hans/
选择社区版就行,安装过程很简单,一直下一步就行。安装过程较慢,耐心等待。安装内容视情况而定。软件较大,保留足够的空间以供vs使用
1.创建工程
鼠标点击文件->新建->项目
找不到就用快捷键,快捷键:ctrl+shift+n
2.创建.cpp文件 ,操作同上
快捷键:ctrl+shift+a
创建完成后开始配置,本人是在Debug x64下运行 ,所以一会将配置Debug x64。Debug版本和Release版本的区别自行百度。
3.打开属性管理器:
视图=》其他窗口=》属性管理器
在右侧栏出现属性管理器界面,点开,选择Debug x64右键“属性”
4.添加包含目录
vc++目录=》包含目录=》选择编辑
添加解压(安装)好的OpenCV路径,分别是include,include\opencv ,include\opencv2,建议三个都添加
我的目录是(记得找到你的路径复制):
C:\Program Files (x86)\opencv\build\include\opencv2
C:\Program Files (x86)\opencv\build\include\opencv
C:\Program Files (x86)\opencv\build\include
5.添加库目录
VC++目录=》库目录 解压(安装)好的OpenCV路径下
我的是(记得找到你的路径复制):
C:\Program Files (x86)\opencv\build\x64\vc14\lib
6.添加附加依赖项
链接器=》输入=》附加依赖项 手动敲入 opencv_world342d.lib
【注意】
1、342对应OpenCV3.4.2。其他版本自行行编写添加。 查询方法:打开安装目录下的opencv\build\x64\vc14\bin,里面有opencv_worldXXX,这个就是。
2、文件夹中有两个文件,其中后缀d代表Debug模式,没有d即Release模式。在debug版本和release版本调试配置的时候注意区分。也就是Release版本要写opencv_world342.lib
第四部分:测试效果
在项目里简单编写如下代码,若可以显示出图像,则配置成功。 (在D盘根目录下放上一张图片,并命名为1.png)
代码:
#include <opencv.hpp>
using namespace cv;
int main()
{
Mat srcImage;
srcImage = imread("d://1.png");
imshow("显示图像", srcImage);
waitKey();
return 0;
}
在运行OpenCV程序时报错:“无法启动此程序,因为计算机中丢失opencv_world341.dll。请尝试重新安装改程序已解决此问题”。
解决方法
我的bin目录是
D:\opencv\build\x64\vc15\bin
从该目录中复制opencv_world341.dll,总共三个dll文件到下方的目录。
复制到下面的目录下的其中一个,我是复制到C:\Windows\System32,因为我复制了两个到第一个没有效果。
C:\Windows\SysWOW64
C:\Windows\System32
最后问题就解决了
另外加几个自己遇到过的问题
问题一:
解决方法:
新手一定要注意,vs里面有Debug和Release两种配置,要根据自己的电脑配置来选择。64位的,通常选择Debug x64。。
问题二:测试图像加载不出来
解决方法,配置链接库时,在附加依赖项中,将opencv_world341d.lib放到前面,即优先支持debug模式的编译运行,同样,如果直接将opencv_world341.lib删除,也可以顺利加载图片。
问题三:Debug Error Program ~~~~~abort()has been called
这个问题困扰了我挺长时间,网上也看了不少博文,尝试了一下,都没有解决问题,后来一次自己的尝试,解决了,主要有几个方面要注意:
(1)其中测试图像应放在和.cpp文件同一个工程目录下:
(2)右击资源文件,添加,从现有项中找到你的图片文件加进去。
(3)程序中读取图片的名称一定要和资源文件中的图片名称一样。
问题五:错误C1010在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "pch.h"”?ConsoleApplication2d:\c++程序\consoleapplication2\consoleapplication2\consoleapplication2.cpp11
解决办法:
项目->属性->C/C++->预编译头->不使用预编译头