WIN10 & VisualStudio2019编译和配置OpenCV2.4.4

先祝大家节日快乐😁


这里的环境是Windows10、VisualStudio2019、OpenCV2.4.4。其它版本的VS也可以按照以下步骤设置,OpenCV3.X和4.X好像没那么麻烦,请参考其它博客。

下载OpenCV2.4.4源码

1. 在github上找到opencv的项目:
https://github.com/opencv/opencv


2. 点release,找到已发布的代码:
在这里插入图片描述


3. 往下滑,一直"next",找到自己要的版本,点击下载:
在这里插入图片描述


4. 解压到某个目录
我的是在这里:D:\Programs\opencv-2.4.4\opencv-2.4.4
在这里插入图片描述



安装CMake

1. 下载CMake
去CMake官网的download页面(https://cmake.org/download/)下载对应平台的版本,我的是windows64位。最好装最新版本的CMake,不然可能不支持VisualStudio2019(VC16)。
在这里插入图片描述


2. 自己安装



安装VisualStudio2019

1. 默认已经你装好了



编译OpenCV

1.打开CMake,选择OpenCV源码路径和编译build路径
D:\Programs\opencv-2.4.4\opencv-2.4.4是源码的路径
D:\Programs\opencv-2.4.4\opencv-2.4.4\build是我新建的
在这里插入图片描述


2.配置编译版本
第一次点击Configure后,会弹出一个界面,设置自己用的VisualStuido版本和目标平台。这里目标平台关系到后面使用VisualStudio编译时,“配置管理器”中选择什么“活动解决方案平台”。我这里选择Win32。
在这里插入图片描述


3.生成OpenCV编译项目
在上一步点击Finish后,CMake就会开始配置了,配置完如下图所示。
有很多红色的提示,不管它,再点一次Configure。
在这里插入图片描述


没问题了,Configuring done。
在这里插入图片描述


然后点旁边的Generate按钮,生成VS项目。
在这里插入图片描述


3.打开生成的OpenCV的项目
在CMake直接点击Open Project按钮,或者在D:\Programs\opencv-2.4.4\build目录下找到项目打开。
方法1:
在这里插入图片描述
方法2:在这里插入图片描述


4.用VisualStudio编译项目
(1)刚才用CMake配置项目的时候选择了Win32,所以这里VisualStudio也要选择Win32,x64的话请自行设置。
(2)在“解决方案管理器”中找到CMakeTargets,右键“ALL BUILD”,开始编译。
在这里插入图片描述
很遗憾,编译失败了,一堆error
^_^
在这里插入图片描述
在这里插入图片描述


看错误提示,基本是由于找不到std::maxstd::min两个函数,导致后面一系列错误。这个问题可以通过Baidu或者Google解决。我的做法是找到报错的位置,在对应的cpp文件中加上#include<algorithm>。
修改后重新编译,很好,成功。
在这里插入图片描述


然后右键INSTALL,点击生成。
在这里插入图片描述


完成后,编译出来的文件在D:\Programs\opencv-2.4.4\build\install路径下。
在这里插入图片描述


新建一个文件夹,叫做OpenCV2.4.4_vc16_win32,把编译好的文件拷过来,其它可以不要了。
在这里插入图片描述



配置OpenCV2.4.4环境

1.设置环境变量
设置动态链接库的路径,以便系统调用。
右键桌面的电脑图标→属性→高级系统设置→高级→环境变量→系统变量→Path→编辑→新建,加入编译好的\bin目录的路径。没有生效的话重启一下系统。
在这里插入图片描述


1.配置VS工程
新建一个项目,在“属性管理器”中对DebugWin32右键,添加新项目属性表。
在这里插入图片描述


自己设一个名字和路径:在这里插入图片描述


双击打开刚才新建的属性表。
加入OpenCV头文件路径:
在这里插入图片描述


设置OpenCV库的路径:
在这里插入图片描述


D:\Programs\opencv-2.4.4\OpenCV2.4.4_vc16_win32\lib路径下所有.lib文件的名字写到这里来:
在这里插入图片描述



测试一下

从摄像头读取图像然后显示出来

#include <opencv\cv.h>
#include <opencv\highgui.h>

int main()
{

	CvCapture* input_video = cvCreateCameraCapture(0);
	IplImage* frame;
	while (true)
	{
		frame = cvQueryFrame(input_video);
		if (frame == NULL) {
			cout << "ERROR: NULL frame readed..." << endl;
			cvWaitKey(30);
			return -1;
		}
		cvShowImage("yemiekai", frame);
		cvWaitKey(30);
	}
	return 0;
}

在这里插入图片描述
还有bug请baidu、google解决。



参考:

《VisualStudio2010配置OpenCV的一种一劳永逸的方法》:
https://blog.csdn.net/bendanban/article/details/28661763

《vs2019编译opencv》:
https://www.cnblogs.com/mangoroom/p/11000030.html

感谢所有写blog的博主~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章