Opencv简介

OpenCV (Open Source Computer Vision Library) 是一套跨平台计算机视觉库,由Intel、OpenCV.org和其他贡献者共同开发,其功能包括图像处理、计算机视觉、机器学习和3D图形等方面。OpenCV支持多种编程语言,包括C、C++、Python、Java、MATLAB等。

OpenCV的主要优点有:

  1. 开源免费:OpenCV是开源免费的,可以免费用于研究、开发、测试和教学。

  2. 跨平台:OpenCV支持多种编程语言,包括C、C++、Python、Java、MATLAB等,可以运行于各种操作系统。

  3. 功能丰富:OpenCV提供了丰富的图像处理、计算机视觉、机器学习和3D图形等功能。

  4. 性能高:OpenCV的性能优于其他计算机视觉库,尤其是在处理大图像时。

  5. 文档齐全:OpenCV的文档齐全,包括教程、API文档、示例代码、论文等。

OpenCV安装

OpenCV可以从官方网站下载安装包,也可以通过conda、pip等包管理器进行安装。

本文以Windows系统和vs编辑器为例,介绍如何安装和配置OpenCV。

1 下载安装包

首先,到OpenCV官网下载最新版本的安装包,下载地址为:https://opencv.org/releases/
由于OpenCV的安装包比较大,下载时间可能会比较长,请耐心等待。也可以选择国内镜像https://www.raoyunsoft.com/wordpress/index.php/2020/03/09/opencvdownload/

下载完成后,解压到任意目录,如:C:\Users\username.PROJECT\OpenCV。

2 配置环境变量

OpenCV的安装目录下有两个文件夹:bin和include。

将bin目录添加到PATH环境变量中,这样就可以在任意目录下运行OpenCV的可执行文件。

在系统环境变量中找到PATH,双击编辑,在弹出的对话框中点击“新建”按钮,输入“C:\Users\username.PROJECT\OpenCV\bin”(即OpenCV的bin目录),点击确定。

3 配置VS项目

打开Visual Studio,新建一个C++项目,在Visual Studio左上角菜单栏,依次选择“视图”、“其他窗口”、“属性管理器”。在属性管理器中,依次选择“通用属性”、“VC++目录”,开始添加“包含目录”、“库目录”。

1
2
3
C:\Users\username\.PROJECT\OpenCV\opencv\build\include
C:\Users\username\.PROJECT\OpenCV\opencv\build\include\opencv2

添加完包含目录后,在库目录中添加:

1
C:\Users\username\.PROJECT\OpenCV\opencv\build\x64\vc15\lib

最后,在链接器中添加“opencv_world341d.lib”库文件。
选择“链接器”→“常规”→“附加依赖项”,添加“opencv_world341d.lib”(即OpenCV的库文件)。

OpenCV的第一个程序

下面,我们用OpenCV创建一个简单的程序,实现图像的读取、显示和保存。

4 新建项目

创建一个新的VS项目,项目类型选择“空项目”,项目名称为“Opencv_0_init”,点击确定。然后按照上述步骤配置环境变量、项目属性、添加依赖项。

5 编写代码

在项目中新建一个源文件,文件名为“main.cpp”,并在文件中编写以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <opencv2/opencv.hpp>

int main() {
std::cout << "Hello, World!" << std::endl;
Mat img = imread("D:/images/example.png");
if (img.empty()) {
std::cout << "Could not open or find the image" << std::endl;
return -1;
}

imshow("Example", img);
waitKey(0);

return 0;
}
  1. 导入必要的头文件:

    • #include <iostream>: 提供输入输出流的功能。
    • #include <opencv2/opencv.hpp>: 包含了OpenCV的所有基本功能。
  2. 主函数 main():

    • 首先,程序打印出 “Hello, World!” 到控制台。
    • 接着,使用 imread() 函数尝试从指定路径 "D:/images/example.png" 读取一张图片到 cv::Mat 类型的变量 img 中。
    • 使用 if (img.empty()) 检查是否成功读取图片。如果没有找到图片或者无法打开,程序会输出 “Could not open or find the image” 并返回 -1
    • 如果图片成功读取,使用 imshow() 函数在一个名为 “Example” 的窗口中显示这张图片。
    • 使用 waitKey(0) 等待用户按键。这里传入的 0 表示程序会无限等待直到用户按下任意键为止。
    • 最后,程序返回 0 表示正常结束。

可能遇到的问题

  • 找不到mfplat.lib、mf.lib、mfreadwrite.lib、mfuuid.lib、opencv_world4100d.lib等库文件
    1
    Error:由于找不到opencv_world410d.dll,无法执行代码,重新安装程序可能会解决此问题
    解决方法:将 opencv 安装路径 目录\opencv\build\x64\vc15\bin 中后缀是.dll 的应用程序扩展复制到 C:\Windows\System32 中

总结

本文介绍了OpenCV的安装、配置、第一个程序,并简单介绍了OpenCV的一些基本概念和函数。

OpenCV是一个强大的开源计算机视觉库,可以用于图像处理、计算机视觉、机器学习和3D图形等方面。

希望本文对你有所帮助,欢迎留言交流。

参考资料与推荐阅读