Ubuntu 14.04.3 安装 opencv 3.0.0

刚才要做对视频每一帧的提取,按照网上的一种方法安装了Opencv 3.2,然而一切安装完毕后执行以下代码:


import cv2catcher = cv2.VideoCapture('3.avi')

报错,提示:

Unable to stop the stream: Inappropriate ioctl for device


各种调整都没能解决问题,无奈重新安装了3.0.0版本的Opencv,总结步骤如下。


已有环境:CUDA 8.0 cudnn 7.5 Python 2.7 scipy numpy theano 等深度学习套件


参考:http://rodrigoberriel.com/2014/10/installing-opencv-3-0-0-on-ubuntu-14-04/

(一) 安装依赖项

sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff4-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
(二) 下载Opencv源码

http://opencv.org/releases.html

下载后解压到Home文件夹,在解压出来的文件夹中新建一个名为build的文件夹,并在build内打开终端。


(三)编译,安装

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_LAPACK=OFF ..
make -j $(nproc)
sudo make install
在执行 make -j $(nproc) 时,编译到92%报错:

modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/build.make:290: recipe for target 'modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o' failed
make[2]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o] Error 1
经过谷歌找到了解决方法,原来官方的3.0.0版本发布时尚不支持CUDA 8.0,现在已经修复:
参考https://github.com/opencv/opencv/pull/6510/commits/10896129b39655e19e4e7c529153cb5c2191a1db
即进入到~/opencv-3.0.0/modules/cudalegacy/src文件夹中,打开graphcuts.cpp文件,删除第45行的预处理语句,改为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
重新编译即可。

卸载:
make uninstall
cd ..
sudo rm -r build
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值