ubuntu 16.04 配置安装opencv3.1.0

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28413479/article/details/78747571

网上教程太多了 每次都有不同的坑…

这几个库必须装掉 - - 没准你哪次用的时候 告诉你没装啥啥的 又得重新编译

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 update   
sudo apt-get upgrade  

本次遇到的新坑

问题:由于CUDA 8.0不支持OpenCV的 GraphCut 算法,可能出现以下错误:

/home/dsp/opencv-3.1.0/modules/core/include/opencv2/core/private.cuda.hpp:165:52: note: in definition of macro ‘nppSafeCall’
 #define nppSafeCall(expr)  cv::cuda::checkNppError(expr, __FILE__, __LINE__, CV_Func)
                                                    ^
modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/build.make:146: 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
make[2]: *** 正在等待未完成的任务....
CMakeFiles/Makefile2:9226: recipe for target 'modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all' failed
make[1]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
[ 92%] Linking CXX shared library ../../lib/libopencv_photo.so
[ 92%] Built target opencv_photo
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

进入opencv-3.1.0/modules/cudalegacy/src/目录,修改graphcuts.cpp文件,将:
复制代码

#include "precomp.hpp"
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改为

#include "precomp.hpp"
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

编译和安装完成

参考链接:
http://blog.csdn.net/u011440558/article/details/78358447
http://www.cnblogs.com/ranjiewen/p/7788484.html

猜你喜欢

转载自blog.csdn.net/qq_28413479/article/details/78747571
今日推荐