********************如果在conda环境内,首先退出conda环境********************
1. 安装依赖项
①安装g++, cmake, make, wget, unzip
sudo apt install -y g++
sudo apt install -y cmake
sudo apt install -y make
sudo apt install -y wget unzip
②安装opencv依赖的库
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
③安装一些可选的库
# python3支持
sudo apt install python3-dev python3-numpy# streamer支持
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt install libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-ugly1.0-dev# 可选的依赖
sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev# 如果您希望加速编译过程,可以选择安装 ccache,它会帮助您在重复编译时节省时间
sudo apt-get install ccache# 如果你需要使用 OpenCV 的 Java bindings(例如 opencv_java 模块),则需要安装 Java 环境
sudo apt-get install openjdk-11-jdk# OpenCV 使用 VTK 来进行一些可视化功能
sudo apt-get install libvtk6-dev
2. 下载OpenCV 4.5.0源文件
① 官网下载源码,Source:Releases - OpenCV
② 解压到主目录,最好不要删除,卸载的时候需要用到。
$ unzip opencv_4.8.0.zip
3. Cmake配置和编译OpenCV
① 进入到下载好的opencv目录中,新建并进入目录build
$ cd opencv
$ mkdir build
$ cd build
② 使用cmake配置opencv:
$ cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES ..# 如果需要使用Gstreamer,就添加WITH_GSTREAMER=YES,即
$ cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D WITH_GSTREAMER=YES ..# 如果需要指定安装目录,就添加-D CMAKE_INSTALL_PREFIX=/usr/local(这里修改为你指定的目录),即
$ cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D WITH_GSTREAMER=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..
说明:
-D OPENCV_GENERATE_PKGCONFIG=YES
(OpenCV4以上默认不使用pkg-config,该编译选项开启生成opencv4.pc文件,支持pkg-config功能)
-D WITH_GSTREAMER=YES
(使用Gstreamer)
运行完成大概会有如下输出,可以查看包含了哪些模块:
-- Linker flags (Release): -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined
-- Linker flags (Debug): -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined
-- ccache: YES
-- Precompiled headers: NO
-- Extra dependencies: dl m pthread rt
-- 3rdparty dependencies:
--
-- OpenCV modules:
-- To be built: calib3d core dnn features2d flann gapi highgui imgcodecs imgproc ml objdetect photo stitching ts video videoio
-- Disabled: world
-- Disabled by dependency: -
-- Unavailable: java python2 python3
-- Applications: tests perf_tests apps
-- Documentation: NO
-- Non-free algorithms: NO
--
-- GUI: GTK3
-- GTK+: YES (ver 3.24.20)
-- GThread : YES (ver 2.64.6)
-- GtkGlExt: NO
-- VTK support: NO
--
-- Media I/O:
-- ZLib: /usr/lib/aarch64-linux-gnu/libz.so (ver 1.2.11)
-- JPEG: /usr/lib/aarch64-linux-gnu/libjpeg.so (ver 80)
-- WEBP: build (ver encoder: 0x020f)
-- PNG: /usr/lib/aarch64-linux-gnu/libpng.so (ver 1.6.37)
-- TIFF: /usr/lib/aarch64-linux-gnu/libtiff.so (ver 42 / 4.1.0)
-- JPEG 2000: OpenJPEG (ver 2.5.2)
-- OpenEXR: build (ver 2.3.0)
-- HDR: YES
-- SUNRASTER: YES
-- PXM: YES
-- PFM: YES
--
-- Video I/O:
-- DC1394: NO
-- FFMPEG: YES
-- avcodec: YES (58.54.100)
-- avformat: YES (58.29.100)
-- avutil: YES (56.31.100)
-- swscale: YES (5.5.100)
-- avresample: NO
-- GStreamer: YES
-- v4l/v4l2: YES (linux/videodev2.h)
③ 用make进行编译(大约需要35分钟)
$ make -j8
说明:
-j8中的8指同时使用8个核心进行编译,具体取决于你的电脑核心数。
如果完成,如下:
④ 用make进行安装
$ sudo make install
默认安装路径为:
/usr/local/bin - executable files
/usr/local/lib - libraries (.so)
/usr/local/cmake/opencv4 - cmake package
/usr/local/include/opencv4 - headers
/usr/local/share/opencv4 - other files (e.g. trained cascades in XML format)
4. 环境配置
1)、配置pkg-config环境
opencv4.pc文件的默认路径:/usr/local/lib/pkgconfig/opencv4.pc
将路径加入到PKG_CONFIG_PATH:
$ sudo vim /etc/profile.d/pkgconfig.sh
在文件后面加入下面一行:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
保存退出。
# 激活
source /etc/profile
验证安装是否成功:
$ pkg-config --libs opencv4
输出如下则成功:
2)、 配置动态库环境
① 打开文件(可能为空文件):加入内容(/usr/local/lib)后保存退出
$ sudo vim /etc/ld.so.conf.d/opencv4.conf# 在该文件末尾加上OpenCV的lib路径,保存退出
/usr/local/lib
② 使配置的路径生效:
$ sudo ldconfig
安装完成!!!
5. 卸载
如果要卸载就在解压的8:~/opencv-4.8.0下的build文件夹里执行:
$ sudo make uninstall
即可卸载