OpenCV 4 C++环境快速搭建

举报
jackwangcumt 发表于 2021/12/02 22:16:24 2021/12/02
【摘要】 OpenCV是一个轻量级的开源库,基于Apache2.0许可协议,可以免费使用(包括商业应用)的跨平台计算机视觉和机器学习软件库,可以运行在多种主流的操作系统上,如 Linux、Windows、Android和Mac OS操作系统上。本文重点介绍如何在Windows操作系统上安装OpenCV 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,界面如下所示:

1.jpg
     其中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目录结构如下所示:

2.jpg
其中的x64目录中,包含两个VC版本的编译后的库文件,即VC14VC15。本文安装的编译器采用的是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

3.jpg
       如果VS2019要使用OpenCV库构建应用程序,我们需要做两件事:第一,就是告诉C++编译器OpenCV库的基本定义和结构信息,这需要通过给定头文件来实现这一点。第二,就是当需要OpenCV的函数或数据结构时,需要告诉C++链接器从哪里获取详细信息,这就需要指定OpenCV库相关的路径。在Windows 10操作系统上使用的DLL系统,C++链接器需要知道DLL的位置,以便在运行时搜索数据结构或函数。此信息存储在lib文件中。下面给出bin目录的相关文件,如下图所示:

4.jpg
下面用VS2019新建一个C++控制台项目,并配置OpenCV库目录及链接器等信息,下面给出具体的步骤。在项目上右击,在弹出的界面中选择【属性】,并配置【VC++目录】相关信息,即【包含目录】和【库目录】如下所示:

5.jpg

其中的【包含目录】添加C:\opencv\build\include\opencv2C:\opencv\build\include(不可少),其中包含了opencv2的头文件信息。而【库目录】C:\opencv\build\x64\vc14\lib则包含了opencv_world454d.libopencv_world454.lib。opencv2的头文件信息如下所示:

6.jpg

接下来,点击【链接器】,点击【输入】,点击【附加依赖项】,点击右边的下拉三角形,点击【编辑】,将opencv_world454d.lib输入即可。如下图所示:

7.jpg

注意:保存配置完成设置,并注意将项目的平台改成【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);
}

成功运行后,前两个显示的图片界面如下所示:

8.jpg

此图来自OpenCV官网的样例库Samples中,关于C++样例目录为 C:\opencv\sources\samples\cpp

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200