OpenCV提供了大量开源图像算法,是计算机视觉中使用极光的图像处理算法库。在Ubuntu下,有从源代码安装和只安装库文件两种方式可以选择:
- 从源代码安装,是指从OpenCV网站下载所有的OpenCV源代码,并在机器上编译安装,以便使用。好处是可以选择的版本比较丰富,而且能够看到源代码,不过需要花费一些编译时间。
- 只安装库文件,是指通过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、下载源文件
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