Ubuntu 16.04编译安装OpenCV(Python)
来源:互联网 发布:利用445端口入侵win7 编辑:程序博客网 时间:2024/05/29 00:34
环境: Ubuntu 16.04 64bit ,openCV opencv-3.1.0
1.安装opencv依赖包
$ 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 # 处理图像所需的包$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev$ sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包$ sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能$ sudo apt-get install ffmpeg2.下载opencv源码
这里需要下载opencv和opencv_contrib(后者会在cmake配置的时候用到),这是因为opencv3以后SIFT和SURF之类的属性被移到了contrib中。
$ cd ~$ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip$ unzip opencv.zip
$ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip$ unzip opencv_contrib.zip3.安装opencv3.1.0
$ cd opencv3.1.0$ mkdir build$ cd build$ sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. -DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules ~/opencv-3.1.0/ WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D WITH_CUDA=ON -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D CUDA_GENERATION=Auto -D WITH_GSTREAMER_0_10=OFF ..
$ sudo make -j8 (-j4 四核编译, -j8八核编译,此处根据自己电脑的CPU配置)然后
$ sudo make install===========================================
中途可能出现问题
- 执行
sudo make
时,可能出现make[2]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o] Error 1 make[1]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all] Error 2 make: *** [all] Error 2
的错误。
那是因为cuda-8.0
与OpenCV 3.1.0
发生了冲突。解决方法:修改openCV 3.1.0
源码,使其兼容cuda-8.0
$ sudo vi opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp
将第四十五行位置的
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为
#if !defined(HAVE_CUDA)||defined(CUDA_DISABLER)||(CUDART_VERSION>=8000)
然后重新执行
$ sudo make -j4 # -j4为开四个线程,加快编译速度
问题二 fatal error: hdf5.h: No such file or directory opencv_contrib-3.1.0/modules/hdf/include/opencv2/hdf/hdf5.hpp:40:18: fatal error: hdf5.h: No such file or directory
原因:找不到hdf5.h的路径
解决办法:在opencv_contrib-3.1.0/modules/hdf/include/opencv2/hdf/hdf5.hpp 文件中修改第40行
将#include <hdf5.h>
修改成#include "/usr/include/hdf5/serial/hdf5.h"
sudo make clean
。因为执行sudo
make clean
后会重新从头编译,然后再执行 sudo make -j8阅读全文
0 1
- Ubuntu 16.04编译安装OpenCV(Python)
- ubuntu编译安装Opencv
- Opencv+Ubuntu编译安装
- ubuntu python安装opencv
- ubuntu python-opencv安装
- Ubuntu 16.04 python和OpenCV安装
- Ubuntu 16.04 安装Python-OpenCV 3.2
- Ubuntu下编译安装OpenCV
- UBUNTU 下编译安装opencv
- ubuntu opencv 安装编译问题
- ubuntu 下安装python,opencv
- ubuntu anaconda python 安装opencv
- Ubuntu下安装opencv与python-opencv
- Ubuntu下安装opencv与python-opencv
- ubuntu 16.04.3编译安装OpenCV 2.4.13
- Ubuntu安装编译OpenCV一键脚本(带ffmpeg)
- Ubuntu安装编译OpenCV一键脚本(带FFMpeg)
- linux/ubuntu上编译opencv-python
- 手机和电脑设备判断显示不同的页面
- Java开发练习9.2 TCP
- 【BZOJ】4552 [Tjoi2016&Heoi2016]排序 二分+线段树
- Android状态栏微技巧,带你真正理解沉浸式模式
- 错误情况简单
- Ubuntu 16.04编译安装OpenCV(Python)
- 学习JSON第一步
- SSM三大框架的整合的步骤:
- 计算机原码、反码、补码详解
- 【Java】基本类型之浮点类型(七)
- HDOJ 2042 不容易系列之二
- Android界面编程之BaseAdapter
- 网络更新购物车activity
- framework_intermediates/classes.jar: unknown package name of class file