CUDA 8.0 + cudnn5.1 + OpenCV3.1.0(Ubuntu14.04)

本文分享了在Ubuntu14.04环境下安装OpenCV3.1.0的过程及遇到的问题解决方法,包括安装步骤、依赖项配置、编译安装等,并针对ICV校验码错误和与CUDA8.0兼容性问题提供了具体解决方案。

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

这里先给出OpenCV3.1.0的下载链接:http://pan.baidu.com/s/1qYwLin6 密码:xes2

LZ的电脑环境是Ubuntu14.04,之前因为安装最新版的tensorflow,所以安装的是CUDA 8.0,cudnn5.1,然后LZ就默默的下载好了OpenCV 3.1.0版本,结果安装还是出现几个问题,好在,都已经解决了,这里就分享一下。

1.正常安装的步骤

从官网(http://opencv.org/downloads.html)下载OpenCV,并将其解压到你要安装的位置,假设解压到了/home/opencv。
安装前准备,创建编译文件夹:

cd ~/opencv
mkdir build
cd build

安装依赖项:

sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev

配置:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

编译:

make -j8 #-j8表示并行计算,根据自己电脑的配置进行设置,配置比较低的电脑可以将数字改小或不使用,直接输make。

以上只是将opencv编译成功,还没将opencv安装,需要运行下面指令进行安装:

sudo make install

如果没有报错,那就大功告成啦!可是,理想很丰满,现实很骨感,现实往往是error。。。

Error1:

CMake Warning at 3rdparty/ippicv/downloader.cmake:54 (message):
  ICV: Local copy of ICV package has invalid MD5 hash:
  0103b909e19ca9c6497a7ae696c16480 (expected:
  8b449a536a2157bcad08a2b9f266828b)
Call Stack (most recent call first):
  3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)
  cmake/OpenCVFindIPP.cmake:235 (include)
  cmake/OpenCVFindLibsPerf.cmake:12 (include)
  CMakeLists.txt:526 (include)


-- ICV: Downloading ippicv_linux_20141027.tgz...
CMake Error at 3rdparty/ippicv/downloader.cmake:71 (file):
  file DOWNLOAD HASH mismatch

    for file: [/home/jason/program/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b/ippicv_linux_20141027.tgz]
      expected hash: [8b449a536a2157bcad08a2b9f266828b]
        actual hash: [0103b909e19ca9c6497a7ae696c16480]

Call Stack (most recent call first):
  3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)
  cmake/OpenCVFindIPP.cmake:235 (include)
  cmake/OpenCVFindLibsPerf.cmake:12 (include)
  CMakeLists.txt:526 (include)

校验值不准??这个问题也是LZ第一次遇到这种问题,也是醉了,解决方案倒也很简单。
我这里分享了一个校验码的文件链接:http://pan.baidu.com/s/1dFagWCh 密码:a5oo

用LZ分享的文件取替换原有文件的校验文件即可。原有文件的地址为~/opencv-3.0.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ippicv_linux_20151201.tgz

Error2:

modules/cudalegacy/src/graphcuts.cpp:120:54: error: 
‘NppiGraphcutState’ has not been declared
typedef NppStatus (*init_func_t)(NppiSize oSize, 
NppiGraphcutState** ppState, Npp8u* pDeviceMem);

这是因为opecv3.1与cuda8.0不兼容导致的。解决办法:
修改 ~/opencv/modules/cudalegacy/src/graphcuts.cpp文件内容:

//#if !define(HAVE_CUDA) || defined(CUDA_DISABLER)
#if !defined (HAVE_CUDA) || defined(CUDA_DISABLER) || (CUDA_VERSION>=8000)

error是经常会碰到的,就看你想不想解决了O(∩_∩)O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值