OpenCV提供了大量开源图像算法,是计算机视觉中使用极光的图像处理算法库。在Ubuntu下,有从源代码安装只安装库文件两种方式可以选择:

  1. 从源代码安装,是指从OpenCV网站下载所有的OpenCV源代码,并在机器上编译安装,以便使用。好处是可以选择的版本比较丰富,而且能够看到源代码,不过需要花费一些编译时间。
  2. 只安装库文件,是指通过Ubuntu来安装有Ubuntu社区人员已经编译好的库文件,这样无需再编译一次。

由于我们这里安装的是(目前)最新版本的OpenCV 4.1.1,所以必须从源代码来安装。

一、准备

1、安装依赖项

安装cmake

sudo apt-get install cmake #如果已经安装过cmake,则该步骤省略

安装依赖项

sudo apt-get install build-essential libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

事实上,OpenCV的依赖项众多,在cmake阶段检查依赖项是否安装,调整自己的功能。因此,可根据项目需要调整安装依赖项。

2、下载源文件

a) 官网下载 b) GitHub下载

3、解压

a) 将文件以到Ubuntu中你熟悉的地方(文件移动方法参考链接)
b) 解压文件

unzip OpenCV-4.1.1.zip -d .

二、安装

1、进入解压后的文件夹

cd ./OpenCV-4.1.1

2、创建一个编译文件夹build,并进入

mkdir build
cd ./build

3、在新建的这个文件里运行cmake

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

命令说明:

  • OpenCV4默认不生成.pc文件,OPENCV_GENERATE_PKGCONFIG=ON才会生成。该编译选项开启生成opencv4.pc文件,支持pkg-config功能。
  • 可用-D CMAKE_INSTALL_PREFIX指定安装目录。如果指定安装目录则默认各部分分别安装在/usr/local/目录的include/ bin/ lib/3个文件夹下.

4、进行make编译

sudo make -j4

我的电脑是四核四线程,可以运行make -j4,如果是八核可用make -j8。如果不想编译时影响工作,可以用-j3。

5、进行make install安装

sudo make install

三、环境配置

1、python环境配置

安装python和numpy

sudo apt-get install python-dev python-numpy python3-dev python3-numpy #如果已经安装过,则该步骤省略

验证

$ python3
>>> import cv2
>>> print(cv2.__version__)
'4.1.1'
>>>

如果报错

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'

安装cv2

pip install opencv-python

2、C++环境配置

先在/etc/ld.so.conf.d/文件夹下新建一个opencv4.conf,然后写入/usr/local/lib。

cd /etc/ld.so.conf.d/
sudo touch opencv4.conf
sudo sh -c 'echo "/usr/local/lib" > opencv4.conf

更新pkg-config

sudo ldconfig

查看安装

pkg-config --libs opencv4
pkg-config --cflags opencv4

验证

cd ./opencv-4.1.1/samples/cpp
g++ `pkg-config --cflags opencv4` drawing.cpp `pkg-config --libs opencv4` -o drawing.out
./drawing.out

drawing.cpp是你要编译的文件,-o后面的是生成文件,默认生成a.out文件;./drawing.out是执行。

四、卸载

1、删除opencv4.conf

进入文件夹

cd /etc/ld.so.conf.d/

删除文件

sudo rm opencv4.conf

2、卸载

进入编译文件夹build

cd
cd ./OpenCV-4.1.1/build

卸载

sudo make uninstall