先祝大家节日快乐😁
这里的环境是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::max
和std::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.youkuaiyun.com/bendanban/article/details/28661763
《vs2019编译opencv》:
https://www.cnblogs.com/mangoroom/p/11000030.html
感谢所有写blog的博主~