OpenCV 4 C++环境快速搭建
1 OpenCV概述
根据百度百科的定义,OpenCV是一个轻量级的开源库,基于Apache2.0许可协议,可以免费使用(包括商业应用)的跨平台计算机视觉和机器学习软件库,可以运行在多种主流的操作系统上,如 Linux、Windows、Android和Mac OS操作系统上。 OpenCV由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法,具备执行效率高的特点。官网地址为:https://opencv.org 。其中包含软件的下载以及文档说明,其中包含C++语言和Python语言版本的。
2 OpenCV C++开发环境搭建
开发环境这里选择Windows 10操作系统,其中已经安装了Visual Studio 2019 或 Visual Studio 2019 社区版(免费),其他版本的 Visual Studio应该也可以,不过选择组件时要勾选C++相关组件,这里主要需要用到Visual C++相关的编译器环境。关于Visual Studio 2019的安装这里不再赘述。下面我们从OpenCV官网下载OpenCV安装软件,地址为: https://opencv.org/releases,界面如下所示:
其中OpenCV主要有两个版本,即OpenCV4.x和OpenCV3.x ,二者有些API是不兼容的。所有应该需要根据自己的情况来选择,如果是新学习的,建议还是选择新版本,即OpenCV4.x ,最新的稳定版为OpenCV4.5.4 。注意:当前的OpenCV5.x已经在开发阶段,但是生产环境还不建议使用。点击【Windows】按钮,会跳转到下载页面进行下载,我们这里等待直至下载完成。下载的文件名为 : opencv-4.5.4-vc14_vc15.exe 。双击安装即可,它本质是一个压缩文件,安装过程即是需要解压到一个目录中,我这里解压到 C:\opencv 。安装目录中包含build目录和source目录,其中的build目录结构如下所示:
其中的x64目录中,包含两个VC版本的编译后的库文件,即VC14和VC15。本文安装的编译器采用的是VC14。下面还需要配置环境变量,首先配置PATH环境变量,将 C:\opencv\build\x64\vc14\bin 添加到PATH环境变量中。关于安装过程可以参考官方两个文档:
https://docs.opencv.org/4.5.4/d3/d52/tutorial_windows_install.html
https://docs.opencv.org/4.5.4/dd/d6e/tutorial_windows_visual_studio_opencv.html
如果VS2019要使用OpenCV库构建应用程序,我们需要做两件事:第一,就是告诉C++编译器OpenCV库的基本定义和结构信息,这需要通过给定头文件来实现这一点。第二,就是当需要OpenCV的函数或数据结构时,需要告诉C++链接器从哪里获取详细信息,这就需要指定OpenCV库相关的路径。在Windows 10操作系统上使用的DLL系统,C++链接器需要知道DLL的位置,以便在运行时搜索数据结构或函数。此信息存储在lib文件中。下面给出bin目录的相关文件,如下图所示:
下面用VS2019新建一个C++控制台项目,并配置OpenCV库目录及链接器等信息,下面给出具体的步骤。在项目上右击,在弹出的界面中选择【属性】,并配置【VC++目录】相关信息,即【包含目录】和【库目录】如下所示:
其中的【包含目录】添加C:\opencv\build\include\opencv2和C:\opencv\build\include(不可少),其中包含了opencv2的头文件信息。而【库目录】C:\opencv\build\x64\vc14\lib则包含了opencv_world454d.lib和opencv_world454.lib。opencv2的头文件信息如下所示:
接下来,点击【链接器】,点击【输入】,点击【附加依赖项】,点击右边的下拉三角形,点击【编辑】,将opencv_world454d.lib输入即可。如下图所示:
注意:保存配置完成设置,并注意将项目的平台改成【x64】。下面将如下几个文件拷贝到C:\Windows\System32,示意如下所示:
opencv_world454.dll
opencv_world454d.dll
opencv_videoio_msmf454_64d.dll
opencv_videoio_msmf454_64.dll
opencv_videoio_ffmpeg454_64.dll
3 OpenCV C++ 示例
当基本环境配置完成后,可以编辑项目文件,在VS2019中,编辑示例文件如下所示:
//C:\opencv\sources\samples\cpp\tutorial_code\photo\decolorization
#include "opencv2/photo.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/core.hpp"
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
//读入图片,提前需要准备图,并注意路径
Mat src = imread("./lena.jpg", IMREAD_COLOR);
//读入成功判定
if (src.empty())
{
cout << "Could not open lena.jpg!\n" << endl;
return EXIT_FAILURE;
}
Mat gray, color_boost;
//图像处理
decolor(src, gray, color_boost);
//显示图像
imshow("Source Image", src);
imshow("grayscale", gray);
imshow("color_boost", color_boost);
//等待
waitKey(0);
}
成功运行后,前两个显示的图片界面如下所示:
此图来自OpenCV官网的样例库Samples中,关于C++样例目录为 C:\opencv\sources\samples\cpp 。
- 点赞
- 收藏
- 关注作者
评论(0)