opencv下载安装及VS2015环境配置中遇到的问题
以下出现X64的地方32位系统应统一为X86。(我拿的书上说,64位系统跟32位系统都可以是X86。只要是32位编译器就行。)
1.下载
opencv 下载地址 http://opencv.org/
解压到自己选定的文件夹就可以了(加压后会自动生成一个叫opencv的文件夹,不用自己提前建)
2.环境配置
我的电脑右键,属性,高级系统设置,环境变量,在系统变量里找到PATH
在其变量值里添加即可。
vc8 = Visual Studio 2005
vc9 = Visual Studio 2008
vc10 = Visual Studio 2010
vc11 = Visual Studio 2012
vc12 = Visual Studio 2013
vc14 = Visual Studio 2015
根据上面的可以确定我们要用vc14文件夹下的bin。 看别人博客,这里应该是F:\软件安装\OPENCV\opencv\build\x64\vc14\bin。但是我的是上图这样也没出错。不知道为什么。
3.配置VS2015
新建一个控制台程序,点击菜单栏项目,点击下拉菜单最下方属性。弹出下框
选择“VC++目录”,设置“包含目录”为三个文件夹:
.....opencv\build\include\opencv2;
.....opencv\build\include\opencv;
.....opencv\build\include;
其中.....为自己安装位置,下同。
再设置库目录为一个文件夹:.....opencv\build\x64\vc14\lib
然后,按照同样的方法设置如下项:
由于opencv3的特性,这里只需要加入一个“附加依赖项”就行了,opencv_world342d.lib(绝对路径。另外,多加上opencv_world342d.lib也可以)
PS:有时候运行会提示找不到opencv_world310d.dll
这时要把.....opencv\build\x64\vc14\bin中的所有项(其实是3个.dll项)复制到C:\Windows\SysWOW64或者C:\Windows\system32下,视环境而定。
4.执行一个实例
// Consoleface_recognition.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <F:/软件安装/OPENCV/opencv/build/include/opencv2/core/core.hpp> //库地址应是自己的地址
#include <F:/软件安装/OPENCV/opencv/build/include/opencv2/highgui/highgui.hpp> //库地址应是自己的地址
using namespace cv;
int main() {
// 读入一张图片(游戏原画)
Mat img = imread("G:/学习/平时任务/人脸识别/Consoleface_recognition/pic.png"); //图片地址应是绝对地址。图片放在工程文件里,和源程序一起。
// 创建一个名为 "游戏原画"窗口
namedWindow("游戏原画");
// 在窗口中显示游戏原画
imshow("游戏原画", img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
}
虽然只有简单几步,但是我配置的时候遇到了各种各样的问题。。。。
1.运行后出现Unhandled exception at 0x76E23EF2 in open.exe: Microsoft C++ exception等等ji's几十条错误。
修改照片路径名称为绝对路径。我之前的路径只是照片名。
2.
.
将bin目录中的3个dll文件复制在(C:\Windows\System32)或者(C:\Windows\SysWOW64)中。
3.error LNK2019: 无法解析的外部符号 "void __cdecl cv::calcHist
确保环境及各参数设置统一为X64
4.导入头文件时报错#include<opencv2/core/core.hpp>
打开项目属性管理器,配置包含目录。
包含目录:opencv\build\include
opencv\build\include\opencv
opencv\build\include\opencv2
为确保万无一失,再确认一下可执行文件的目录为:你安装opencv的目录\opencv\build\x86\vc12\bin。以及库目录。
5.模块计算机类型“X86”与目标计算机类型“x64”冲突
一:项目属性管理器->链接器->高级->目标计算机 ,改为MachineX64 (/MACHINE:X64)。
二:导航栏处的解决方案平台,下拉,选择X64,如果没有X64,则选择配置管理器,右上角的 活动解决方案平台选择新建,下拉选择X64,确定。
6.error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突
也是各种目录配置的问题。检查目录配置是否有问题。是否都为X64。