ubuntu20.04下的opencv4.8.0安装教程(其他版本通用)

********************如果在conda环境内,首先退出conda环境********************

1. 安装依赖项

①安装g++, cmake, make, wget, unzip

bash 复制代码
sudo apt install -y g++
sudo apt install -y cmake
sudo apt install -y make
sudo apt install -y wget unzip

②安装opencv依赖的库

bash 复制代码
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

③安装一些可选的库

bash 复制代码
# 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

② 解压到主目录,最好不要删除,卸载的时候需要用到。

bash 复制代码
$ unzip opencv_4.8.0.zip

3. Cmake配置和编译OpenCV

① 进入到下载好的opencv目录中,新建并进入目录build

bash 复制代码
$ cd opencv
$ mkdir build
$ cd build

② 使用cmake配置opencv:

bash 复制代码
$ 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)

运行完成大概会有如下输出,可以查看包含了哪些模块:

bash 复制代码
--     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分钟)

bash 复制代码
$ make -j8

说明:

-j8中的8指同时使用8个核心进行编译,具体取决于你的电脑核心数。

如果完成,如下:

④ 用make进行安装

bash 复制代码
 $ 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:

bash 复制代码
$ sudo vim /etc/profile.d/pkgconfig.sh

在文件后面加入下面一行:

bash 复制代码
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

保存退出。

bash 复制代码
# 激活
source /etc/profile

验证安装是否成功:

bash 复制代码
$ pkg-config --libs opencv4

输出如下则成功:

2)、 配置动态库环境

① 打开文件(可能为空文件):加入内容(/usr/local/lib)后保存退出

bash 复制代码
$ sudo vim /etc/ld.so.conf.d/opencv4.conf


# 在该文件末尾加上OpenCV的lib路径,保存退出
/usr/local/lib

② 使配置的路径生效:

bash 复制代码
$ sudo ldconfig

安装完成!!!

5. 卸载

如果要卸载就在解压的8:~/opencv-4.8.0下的build文件夹里执行:

cpp 复制代码
$ sudo make uninstall

即可卸载

相关推荐
怀璧其罪2 小时前
安装 OpenSSL 1.1.1 的完整脚本适用于 Ubuntu 22.04 系统
linux·服务器·数据库
CodeCaptain3 小时前
【保姆级】Ubuntu 24.04安装Docker
linux·ubuntu·docker
千航@abc4 小时前
虚拟机添加多块网卡,重启时,ip绑定错误如何解决
linux·服务器·网络·虚拟化·kvm
zru_96025 小时前
在Windows和Linux系统上的Docker环境中使用的镜像是否相同
linux·运维·docker
inquisiter6 小时前
SEV内存加密位linux内核设置过程
linux·运维·支持向量机
xhaoDream6 小时前
NFS客户端与服务端用户不一致问题
linux·服务器·经验分享
航月8 小时前
linux中VI命令的详细解释
linux·运维·服务器
co0t8 小时前
考研c语言复习之栈
c语言·开发语言·考研
浩浩测试一下8 小时前
内网渗透(CS&&MSF) 构建内网代理的全面指南:Cobalt Strike 与 Metasploit Framework 深度解析
linux·服务器·网络
慕城南风9 小时前
怎么查看linux是Ubuntu还是centos
linux·ubuntu·centos