OpenCV:安装

本文详细介绍了在编译OpenCV过程中遇到的与libTIFF相关的链接错误,并提供了添加编译选项-DBUILD_TIFF=ON来解决这些问题的方法。

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

  1. 依赖:
    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 libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

     

  2. opencv及opencv_contrib源码
  3. 解压得到opencv-3.3.0和opencv_contrib-3.3.0,把它们放在同一个位置。在opencv-3.3.0中创建文件夹build,在build中打开终端执行:
    cmake -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.3.0/modules ..

    其中-DOPENCV_EXTRA_MODULES_PATH是opencv_contrib-3.3.0/modules的路径。

  4. 问题:
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFDefaultStripSize@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFReadTile@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFWriteScanline@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘_TIFFfree@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFGetField@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFScanlineSize@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFTileSize@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFClose@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFClientOpen@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFGetFieldDefaulted@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFNumberOfDirectories@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFReadRGBAImage@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFSetWarningHandler@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFSetErrorHandler@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘_TIFFmalloc@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFSetDirectory@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFReadScanline@LIBTIFF_4.0’未定义的引用
    //usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2:对‘TIFFNumberOfTiles@LIBTIFF_4.0’未定义的引用

    解决:添加编译选项 -DBUILD_TIFF=ON

  5.  编译安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值