标题:VirtualBox Ubuntu 22.04 搭建 OpenCV 环境 C++版
VirtualBox 安装 Ubuntu22.04详细图文移步
Ubuntu OpenCV 前置依赖安装
sudo apt install -y g++ make wget unzip
sudo apt install -y libssl-dev build-essential
sudo apt install -y pkg-config
CMake 安装
方法一
sudo apt-get install -y cmake
方法二
-
下载最新源码包:https://cmake.org/download/
-
进入 cmake 目录
-
# 执行 ./bootstrap # 编译构造 make # 安装 sudo make install # 检查 cmake --version
下载 OpenCV
-
下载最新源码包:Releases - OpenCV
下载 OpenCV 依赖:
更换镜像源:
-
打开镜像源配置文件
-
sudo gedit /etc/apt/sources.list
-
-
复制以下配置信息到上面
-
# 阿里源 deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
-
-
更新镜像源:
-
sudo apt-get update sudo apt-get upgrade
-
更换镜像源报错(无报错跳过此步)
-
报错信息:由于没有公钥,无法验证下列签名
-
添加公匙
40976EAF437D05B5
、3B4FE6ACC0B21F32
:扫描二维码关注公众号,回复: 16547040 查看本文章-
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
-
根据报错,缺少的公匙都添加上,再重复一次更换镜像源。
-
下载依赖:
-
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev
编译安装 OpenCV
创建编译文件夹
cd /目录/opencv-4.6.0
mkdir -p build
cd build
执行编译预处理
cmake -DCMAKE_BUILD_TYPE=Release \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local ..
编译
sudo make -j 4
-
数字代表使用线程数,越大性能要求越高,由于使用虚拟机,设置太高存在卡死可能(若线程数太接近虚拟机设置的线程数)。
-
一般一核等于两线程:
-
编译报错(无报错跳过此步)
- 原因:OpenCV 的编译文件夹在 Windows 下。
- 解决方法:将 OpenCV 源码包放到 Linux 系统下,删掉 buile 文件夹下所有文件,从编译预处理开始重新进行操作。
安装
sudo make install
环境配置
-
打开文件:
-
sudo gedit /etc/ld.so.conf.d/opencv.conf
-
写入:
/usr/local/lib
-
-
更新系统共享链接库:
-
sudo ldconfig
-
-
打开bashrc文件:
-
sudo gedit /etc/bash.bashrc
-
写入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
-
-
更新:
-
source /etc/bash.bashrc
-
-
验证:
-
pkg-config --modversion opencv4
-