今天要做一个实验,需要用到opencv,所以打算写一些代码,结果按照网上的配置都有一些问题。所以把自己正确配置的经验给出来。
首先作者使用的是opencv-3.4.3-vc14_vc15.exe这个文件,文件的下载地址在
https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.4.3/
点击上面的文件就可以开始下载了,下载后,双击,其实就是让你解压,见下图
解压完成后我们只需要做几个简单的步骤:
1、创建c++项目
2、添加包含目录和库目录
3、添加附加依赖项
我们现在进行讲解:
1、创建项目
打开vc 2015之后,创建项目,visual C++ ,win32控制台应用程序,修改项目名称(也可以不修改)
2、添加包含目录和库目录
菜单栏里面的项目-》【项目名称】的属性,会出现下面的页面,把平台选成x64
点击VC++目录。点击包含目录,后面会有个下拉箭头点一下,选择编辑,然后左上角有个新行的按钮,把三个路径添加到里面去。分别是
...\opencv\build\include
...\opencv\build\include\opencv
...\opencv\build\include\opencv2
如下图的前三个。
同样的方式添加库目录里的一个文件...\opencv\build\x64\vc15\lib
接下来可以到vc15/lib的文件夹下面看看,这里只有world343d的lib文件。把这个文件名复制上。如果是其他版本的话,应该有挺多文件的。如果可能都添加上吧。
我们还是在回到属性页,点击进到链接器-》输入,在附加依赖项里加入复制的文件名就可以了。
选择应用之后,回到编辑界面,把窗口上的位数改成x64。到此就完成配置了。
那么就能够开始编写程序了。
尝试运行这个程序:
#include "stdafx.h"
#include <opencv2/core/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main() {
string imageName("C:\\Users\\Pictures\\pic1.jpg"); // 图片在电脑中的绝对地址
Mat image;//Mat是OpenCV最基本的数据结构,这是定义一个图像矩阵类型
image = imread(imageName.c_str(), IMREAD_COLOR);//读入图片数据
if (image.empty())//读取失败时
{
cout << "Could not open or find the image" << std::endl;
return -1;
}
namedWindow("Display window", WINDOW_AUTOSIZE); // 创建一个窗口
imshow("Display window", image); // 在窗口中显示图片
waitKey(0); // 等待一次按键,程序结束
return 0;
}
运行结果: