在Ubuntu上安装指定版本的OpenCV(一键安装)

文章详细介绍了如何在Ubuntu上安装OpenCV4.x,包括设置版本号和CPU核数、下载与解压源码、编译安装过程,以及处理可能出现的如libtiff、libpangoft2和libblkid.so.1等动态库的链接错误。此外,还强调了开启OPENCV_GENERATE_PKGCONFIG以生成pkg-config文件的重要性。

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

安装依赖环境

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

首先指定版本号和CPU核数

export OPENCV_VERSION=4.6.0
export NUM_JOBS=8

下载并解压

wget -O opencv.zip https://hub.nuaa.cf/opencv/opencv/archive/${OPENCV_VERSION}.zip && \
unzip opencv.zip && \
mkdir build && cd build

编译和安装

cmake  -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr/local/opencv${OPENCV_VERSION} \
    -DBUILD_TIFF=ON \
    -DOPENCV_GENERATE_PKGCONFIG=ON \
    ../opencv-${OPENCV_VERSION}
sudo make install -j${NUM_JOBS}

PS:

  1. CMAKE_INSTALL_PREFIX 是opencv的安装地址 默认安装在 usr/local
  2. CMAKE_BUILD_TYPE 是opencv安装的版本,Release和Debug两种可选,默认安装Release
  3. OPENCV_GENERATE_PKGCONFIG 强烈建议开启这个 设置为ON OPENCV_GENERATE_PKGCONFIG 因为opencv4默认不生成.pc文件,所以加上这句用于生成opencv4.pc文件,支持pkg-config功能。opencv4版本及以上 这里用ON

环境配置

修改etc/bash.bashrc

我们之前安装的时候 OPENCV_GENERATE_PKGCONFIG=ON 所以在/usr/local/lib/pkgconfig下生成了opencv4.pc文件,里面记录了OpenCV头文件、库文件的路經。需要进行如下配置:

sudo gedit /etc/bash.bashrc
#文件末尾添加以下内容 并保存
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
#文件末尾添加以下内容 并保存
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

修改动态库

#打开下列文件
sudo gedit /etc/ld.so.conf.d/opencv.conf 
 
# 添加lib路經 在 末尾 保存退出
/usr/local/lib
 
# 更新
sudo ldconfig

检查安装情况

#终端输入以下两命令,显示正常则安装成功
pkg-config --modversion opencv4 #查看版本号
pkg-config --libs opencv4 #查看libs库

可能存在的问题

…/…/lib/libopencv_imgcodecs.so.5.0.0: undefined reference to `TIFFReadRGBAStrip@LIBTIFF_4.0’

cmake选项中加上:BUILD_TIFF=ON

将anconda里面的libtiff的so文件移除掉了

sudo rm /home/ztyf/anconda3/lib/libtiff.so* 

解决libpangoft2-1.0.so.0:对‘pango_font_get_hb_font‘未定义的引用

locate libpangoft2-1.0.so.0
选择/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0,将其拷贝到报错的路径完全解决。

例如

cp /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 /home/nvidia/anaconda3/lib/

Ubuntu下编译opencv cuda版本//lib/x86_64-linux-gnu/libblkid.so.1 未定义‘uuid_unparse@UUID_1.0‘

sudo rm /home/xing/anaconda3/lib/libuuid.so.1

sudo ln -s /lib/i386-linux-gnu/libuuid.so.1 /home/xing/anaconda3/lib/libuuid.so.1

之后重新cmake;  sudo make -j8;   sudo make install;

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点PY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值