本文档的安装环境是在Ubuntu20.04上执行的,多次安装,均能正常使用。
官方的安装文档
1、安装相关软件包
$ sudo apt install build-essential
$ sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
执行第三条命令时,可能出现 无法定位软件包libjasper-dev 的错误提示 的问题,执行以下命令可以解决。
$ sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install libjasper1 libjasper-dev
2、获取Source
source下载链接
Linux选择Source下载后解压,得到一个 opencv-x.x.x 的文件夹,即是source。
放置何处都行。
有时候从官网上下载source会比较慢,可以克隆我的仓库
$ git@gitee.com:chenjmg/opencv-source.git
3、利用cmake构建opencv
进入到解压的文件夹里,创建并进入新的文件夹 build.
$ mkdir build && cd build
在build文件下执行命令
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
如果报错,那么去掉 -D后面的空格再尝试一下。/usr/local 是 OpenCV 的安装路径。
开始编译
$ sudo make -j4
编译结束后,执行安装
$ sudo make install
完成后,OpenCV 就安装好了,接下来要配置 OpenCV 的编译环境。
4、配置环境
安装完成后,手动创建opencv.pc:
$ cd /usr/local/lib
$ sudo mkdir pkgconfig && cd pkgconfig
$ sudo gedit opencv.pc
在文件中添加
prefix=/usr/local
exec_prefix=${prefix}
includedir=/usr/local/include
libdir=/usr/local/lib
Name: OpenCV
Description: Open Source Computer Vision Library
Version: 4.5.1
Libs: -L${exec_prefix}/lib -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_photo -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ml -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_flann -lopencv_xobjdetect -lopencv_imgcodecs -lopencv_objdetect -lopencv_xphoto -lopencv_imgproc -lopencv_core
Libs.private: -ldl -lm -lpthread -lrt
Cflags: -I${includedir}
其中,Version要根据source的版本号修改。
更改环境变量,输入命令:
$ sudo vim /etc/bash.bashrc
打开之后,在文件最后面添加以下内容:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
保存退出,opencv基本上就安装完成了。通过 pkg-config 查看 opencv 版本:
pkg-config --modversion opencv
5、测试
进入到source文件的目录,切换到example文件夹下:
$ cd sample/cpp/example_cmake
创建并进入新的文件夹build下,
$ cd build && cd build
编译
$ cmake ..
$ make
编译完成后,在build下会生成一个可执行文件 example_cmake
执行
$ ./opencv_example
如果安装成功,将看到窗口显示。