[Ubuntu系统] Ubuntu 安装 OpenCV 4.5.5

97 0
Honkers 2025-8-21 16:17:22 | 显示全部楼层 |阅读模式

换源(可选)

换个源,加快下载速度。

  1. sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  2. sudo gedit /etc/apt/sources.list
复制代码

清华源

  1. # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
  2. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
  3. # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
  4. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
  5. # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
  6. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
  7. # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
  8. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
  9. # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
复制代码

阿里源

  1. deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
  2. # deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
  3. deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
  4. # deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
  5. deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
  6. # deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
  7. deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
  8. # deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
  9. deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
  10. # deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
复制代码

中科大源

  1. deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
  2. # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
  3. deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
  4. # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
  5. deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
  6. # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
  7. deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
  8. # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
  9. deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
  10. # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
复制代码

网易163源

  1. deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
  2. deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
  3. deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
  4. deb http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
  5. deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
  6. # deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
  7. # deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
  8. # deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
  9. # deb-src http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
  10. # deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
复制代码

华为源

  1. deb http://repo.huaweicloud.com/ubuntu/ focal main restricted
  2. # deb-src http://repo.huaweicloud.com/ubuntu/ focal main restricted
  3. deb http://repo.huaweicloud.com/ubuntu/ focal-updates main restricted
  4. # deb-src http://repo.huaweicloud.com/ubuntu/ focal-updates main restricted
  5. deb http://repo.huaweicloud.com/ubuntu/ focal universe
  6. # deb-src http://repo.huaweicloud.com/ubuntu/ focal universe
  7. deb http://repo.huaweicloud.com/ubuntu/ focal-updates universe
  8. # deb-src http://repo.huaweicloud.com/ubuntu/ focal-updates universe
  9. deb http://repo.huaweicloud.com/ubuntu/ focal multiverse
  10. # deb-src http://repo.huaweicloud.com/ubuntu/ focal multiverse
  11. deb http://repo.huaweicloud.com/ubuntu/ focal-updates multiverse
  12. # deb-src http://repo.huaweicloud.com/ubuntu/ focal-updates multiverse
  13. deb http://repo.huaweicloud.com/ubuntu/ focal-backports main restricted universe multiverse
  14. # deb-src http://repo.huaweicloud.com/ubuntu/ focal-backports main restricted universe multiverse
  15. deb http://repo.huaweicloud.com/ubuntu focal-security main restricted
  16. # deb-src http://repo.huaweicloud.com/ubuntu focal-security main restricted
  17. deb http://repo.huaweicloud.com/ubuntu focal-security universe
  18. # deb-src http://repo.huaweicloud.com/ubuntu focal-security universe
  19. deb http://repo.huaweicloud.com/ubuntu focal-security multiverse
  20. # deb-src http://repo.huaweicloud.com/ubuntu focal-security multiverse
复制代码

换源后操作

  1. sudo apt-get update
  2. sudo apt-get upgrade
复制代码

update 和 upgrade 的区别:apt-get update 用于更新可获取软件及其版本信息,但仅仅给出一个可更新的list,具体更新软件操作需要通过 apt-get upgrad 命令。若不想更新应用,只执行 update 即可

下载 OpenCV 4.5.5 源码

https://github.com/opencv/opencv/releases/tag/4.5.5

  1. wget https://github.com/opencv/opencv/archive/refs/tags/4.5.5.zip
复制代码

环境准备

解压

如果是虚拟机,请勿在共享文件夹内进行操作。

  1. unzip opencv-4.5.5.zip
复制代码

安装依赖

  1. sudo apt-get install cmake
  2. sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
  3. sudo apt-get install libgtk2.0-dev
  4. sudo apt-get install pkg-config
复制代码

编译安装

在 opencv-4.5.5 文件夹中建立名为 build的文件夹,在build 目录下执行 cmake 和 make。

  1. mkdir build
  2. cd build
  3. cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=O -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
  4. make -j8
  5. sudo make install
复制代码

环境配置

动态库配置

  1. sudo gedit /etc/ld.so.conf.d/opencv.conf
复制代码

添加

  1. /usr/local/lib
复制代码

保存后,终端内执行

  1. sudo ldconfig
复制代码

更新 PKG_CONFIG_PATH

  1. sudo gedit /etc/bash.bashrc
复制代码

文末添加

  1. PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  2. export PKG_CONFIG_PATH
复制代码

保存后,终端执行

  1. source /etc/bash.bashrc
  2. sudo updatedb
复制代码

若出现 sudo: updatedb: command not found,执行 sudo apt install mlocate 后再次操作即可。

验证

pkg-config

  1. pkg-config --modversion opencv4
复制代码

程序验证

代码

test.cpp
  1. #include <iostream>
  2. #include <opencv2/core.hpp>
  3. #include <opencv2/imgcodecs.hpp>
  4. #include <opencv2/highgui.hpp>
  5. using namespace cv;
  6. using namespace std;
  7. /**
  8. * 读写与显示
  9. * @return
  10. */
  11. int main() {
  12. cout << CV_VERSION << endl;
  13. Mat src = cv::imread("image/lena.tif", IMREAD_GRAYSCALE);
  14. if (src.empty()) {
  15. cout << "Could not load image\n" << endl;
  16. return -1;
  17. }
  18. namedWindow("gray", WINDOW_AUTOSIZE);
  19. imshow("gray", src);
  20. waitKey(0);
  21. imwrite("../image/lena_scale.tif", src);
  22. return 0;
  23. }
复制代码
CMakeLists.txt
  1. cmake_minimum_required(VERSION 3.16)
  2. project(test)
  3. find_package(OpenCV REQUIRED)
  4. add_executable(test test.cpp)
  5. target_link_libraries(test ${OpenCV_LIBS})
复制代码

编译

  1. cmake .
  2. make
复制代码

运行

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行