前言

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

一、安装OpenCV

1、下载OpenCV3.4.16数据包

在Ubuntu上打开浏览器,进入如下网址,选择要下载的数据包(此处选择的是OpenCV-3.4.16)
https://opencv.org/releases/
在这里插入图片描述

2、解压缩包

将OpenCV-3.4.16.zip复制到主目录文件夹下

在终端中解压命令unzip opencv-3.4.16.zip

3、适用cmake安装opencv

先进入解压后的文件夹cd opencv-3.4.16
进入root用户,并更新

sudo su
sudo apt-get update


然后执行如下命令安装cmake

sudo apt-get install cmake

出现是否执行,确定执行输入y


复制如下命令,安装依赖库

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev 


再创建build文件夹

mkdir build


使用cmake编译参数

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

4、使用make创建编译

仍是在build文件夹下进行

sudo make

编译完成

5、安装

sudo make install

安装中没有报错即可完成安装。

二、配置环境

修改opencv.conf文件,添加opencv库的安装路径:/usr/local/lib

sudo gedit /etc/ld.so.conf.d/opencv.conf

更新系统共享链接库

sudo ldconfig

配置bash,修改bash.bashrc文件sudo gedit /etc/bash.bashrc


在末尾加入PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexport PKG_CONFIG_PATH

保存退出,执行如下命令使得配置生效
source /etc/bash.bashrc
更新sudo updatedb

查看版本信息pkg-config --modversion opencv

三、图片示例

1、创建代码

创建一个代码放入code文件夹

mkdir code
cd code

创建一个test1.cpp文件夹

vim test1.cpp

在这里插入图片描述

2、执行

执行以下命令

g++ test1.cpp -o test1 `pkg-config --cflags --libs opencv`

gcc编译器:gcc + 文件名 + -o + 输出文件流名称 +` 支持包

在用同文件夹下准备的照片

3、输出结果

./test1

四、视频示例

1、获取摄像头权限

使用快捷键Win+R,输入services.msc,然后Enter键

找到VMware USB Arbitration S …服务,确保启动。

点击“虚拟机”,再点击“设置(S)…”

选择“USB控制器”,将“USB兼容性”设置为“USB 3.1”,并点击确定

选择 “ 虚拟机 ” ,再选择 “ 可移动设备 ” ,再选择 “ Quanta USB2.0 VGA UVC WebCam ” ,最后点击 “ 连接 ” ,再弹出的窗口内点击 “ 确定 ”

虚拟机右下角摄像头图标有小绿点则连接成功

2、播放视频

创建一个test2.cpp文件

vim test2.cpp

在opencv中Mat被定义为一个类,也可以把它看作一个数据结构,它是以矩阵的形式来存储数据的。waitkey()函数延迟代码是等待一定时间关闭窗口。waitkey这个命令控制着imshow的持续时间,当imshow之后不跟waitkey时,相当于没有给imshow提供时间展示图像,就只有一个空窗口一闪而过,所以必须加waitkey。


编译test2.cpp文件

g++ test2.cpp -o test2 `pkg-config --cflags --libs opencv`

输出./test2

3、录制视频

创建一个test.cpp文件

vim test3.cpp

g++ test3.cpp -o test3 pkg-config --cflags --libs opencv

在这里插入图片描述

五、总结

opencv应用较为广泛,常用于图像处理、人脸识别等,但其安装过程十分繁杂,步骤较多,耗时多。

六、参考资料

http://t.csdn.cn/1fFMK
http://t.csdn.cn/Aa2rJ
http://t.csdn.cn/1fFMK
http://t.csdn.cn/FgWpk

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐