ubuntu22.04安装opencv4.7

文章详细记录了在Ubuntu系统中安装cmake3.23.0以及配置低版本gcc-9的过程,以解决高版本gcc可能导致的编译问题。接着,介绍了下载opencv4.7及相关依赖包,并对部分cmake文件进行修改以适应编译需求。最后,提供了编译和安装OpenCV4.7的详细命令,包括启用CUDA支持和其他相关选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候要安装环境,每次都忘记,记录一下。

1、安装cmake编译所需的包

sudo apt-get install make 
sudo apt-get install gcc
sudo apt-get install g++
如果在命令窗口输入gcc -v或者g++ -v没有反应或者报错执行线面命令
cd /usr/bin/
sudo ln -s gcc-9 gcc
sudo ln -s g++-9 g++
输入gcc -v查看版本
sudo apt install libssl-dev

安装gcc-9主要是因为我尝试了高版本的gcc编译opencv4.7失败了,最后突然想起来之前也有过因为gcc版本过高的问题导致编译失败。切换低版本的gcc后成功了。

2、下载源码构建cmake

我下载的是cmake 3.23.0版本,版本别太高


git clone https://github.com/Kitware/CMake.git 

进入到cmake文件夹内,执行一下命令。完成后可使用cmake --version查看版本号。

./bootstrap
make -j$(nproc) # 使用全部内核编译
sudo make install

3、下载opencv4.7的相关包,都在这里

opencv-4.7.0.zip
opencv_contrib-4.7.0.zip
opencv_3rdparty-contrib_face_alignment_20170818.zip
opencv_3rdparty-contrib_xfeatures2d_boostdesc_20161012.zip
opencv_3rdparty-contrib_xfeatures2d_vgg_20160317.zip
opencv_3rdparty-ffmpeg-master_20211005.zip
opencv_3rdparty-ippicv-master_20191018.zip
opencv_3rdparty-wechat_qrcode_20210119.zip
v0.1.2a.zip

将安装包解压放在同级目录下,其中ADE文件夹下如图2所示:
在这里插入图片描述
在这里插入图片描述

接下来修改opencv-4.7.0内的部分文件,打开opencv-4.7.0/3rdparty/ippicv/ippicv.cmake,修改为:
在这里插入图片描述

打开opencv-4.7.0/3rdparty/ffmpeg/ffmpeg.cmake,修改为:
在这里插入图片描述

打开opencv-4.7.0/modules/gapi/cmake/DownloadADE.cmake,修改为:
在这里插入图片描述

打开opencv_contrib-4.7.0/modules/face/CMakeLists.txt修改为:
在这里插入图片描述

打开opencv_contrib-4.7.0/modules/wechat_qrcode/CMakeLists.txt修改为:
在这里插入图片描述

打开opencv_contrib-4.7.0/modules/xfeatures2d/cmake/download_boostdesc.cmake修改为:
在这里插入图片描述

打开opencv_contrib-4.7.0/modules/xfeatures2d/cmake/download_vgg.cmake修改为:
在这里插入图片描述

修改完成后在opencv-4.7.0文件夹内打开命令行,执行以下命令:

mkdir build
cd build 

#  -D CUDA_ARCH_BIN=8.6  \# 这个值需要按照你的显卡算力,这个可以查到。
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D INSTALL_C_EXAMPLES=OFF \
      -D OPENCV_ENABLE_NONFREE=ON \
      -D WITH_CUDA=ON \
      -D WITH_CUDNN=ON \
      -D OPENCV_DNN_CUDA=ON \
      -D ENABLE_FAST_MATH=1 \
      -D CUDA_FAST_MATH=1 \
      -D CUDA_ARCH_BIN=8.6  \
      -D WITH_CUBLAS=1 \
      -D WITH_TBB=ON \
      -D WITH_V4L=ON \
      -D WITH_QT=ON \
      -D WITH_OPENGL=ON \
      -D WITH_GSTREAMER=ON \
      -D OPENCV_GENERATE_PKGCONFIG=ON \
      -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.7.0/modules/ ../ \
      -D WITH_GTK_2_X=ON \
      -D WITH_GTK=ON  \
      -D BUILD_opencv_rgbd=OFF ..

make -j$(nproc)/(make -j6)
sudo make install
opencv_version # 显示出opencv版本号即可

错误处理

No rule to make target 'cublas', needed by 'lib/libopencv_sfm.so'. Stop编译opencv错误

处理的方法是在cmake构建时添加如下选择

-D BUILD_opencv_sfm=OFF
### 在 Ubuntu 22.04安装 OpenCV 的方法 #### 方法一:通过 Python 包管理器 `pip` 安装预编译版 OpenCV 对于快速部署需求,可以使用 `pip` 工具来安装 OpenCV 的 Python 接口。这种方法简单快捷,适合不需要自定义配置的场景。 运行以下命令以安装官方发布的最新版本 OpenCV: ```bash sudo apt update sudo apt install python3-pip pip3 install --upgrade pip pip3 install opencv-python opencv-python-headless opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 上述命令会从清华大学开源镜像站获取并安装 OpenCV 及其扩展模块[^3]。 --- #### 方法二:源码编译安装 OpenCV 如果需要特定功能支持(如 GPU 加速、额外模块),可以通过源码编译方式安装 OpenCV。以下是具体步骤: 1. **更新系统包** 确保系统的软件包是最新的。 ```bash sudo apt update && sudo apt upgrade -y ``` 2. **安装依赖项** 编译 OpenCV 需要一些开发工具和库的支持。 ```bash sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev \ python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev ``` 3. **下载 OpenCVOpenCV Contrib 源码** 下载指定版本的 OpenCVOpenCV Contrib 模块。 ```bash cd ~ wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/4.9.0.zip unzip opencv.zip mv opencv-4.9.0 opencv wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/refs/tags/4.9.0.zip unzip opencv_contrib.zip mv opencv_contrib-4.9.0 opencv_contrib ``` 4. **创建构建目录并执行 CMake 配置** 使用 CMake 进行配置,启用必要的选项。 ```bash mkdir -p ~/opencv/build && cd ~/opencv/build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON .. ``` 5. **编译与安装** 开始编译过程,并将生成的文件安装到系统中。 ```bash make -j$(nproc) sudo make install sudo ldconfig ``` 完成以上操作后,OpenCV 将被成功安装至 `/usr/local/lib/python3.x/site-packages/cv2/python-x.y/cv2.cpython*.so` 中[^1][^2]。 --- #### 方法三:通过 APT 软件包管理系统安装 APT 是一种更简单的安装方式,适用于基本用途。 ```bash sudo apt install libopencv-dev python3-opencv ``` 此方法无需手动编译,但可能无法获得最新的 OpenCV 版本[^4]。 --- ### 测试安装是否成功 无论采用哪种方法,在安装完成后都可以通过以下脚本来验证 OpenCV 是否正常工作: ```python import cv2 print(f"OpenCV version: {cv2.__version__}") ``` 保存为 `test_opencv.py` 并运行: ```bash python3 test_opencv.py ``` 如果显示 OpenCV 的版本号,则说明安装成功。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值