==原创==Ubuntu14.04安装OPENCV3.0流程及遇到的问题

Ubuntu14.04安装OPENCV3.0流程及遇到的问题

tianbing010@126.com

http://www.cnblogs.com/mcjj

作者:马春杰杰

2017年6月14日22:38:23
我的电脑环境:
Ubuntu14.04LTS + CUDA8.0 + CUDNN5.0 + Nvidia-367.44驱动 + OPENCV3.0-beta
 
我是按照这篇文章来的:
 
首先是刚开始的时候就遇到了错误,Unsupported gpu architecture 'compute_11',解决办法点击这里
 
然后,在中间的时候,还会遇到一个错误,错误出在graphcuts.cpp这个文件上,这个文件位于:
opencv-3.0.0-beta/modules/cuda/src/graphcuts.cpp
打开这个文件之后,更改一下下面的文件:
 
#include "precomp.hpp"
//#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
 
改完之后保存,然后重新编译一下。
 
到最后的时候可能还会出现下面这个错误:
error: cannot declare variable lsquo;orbrsquo; to be of abstract t
error: cannot declare variable ‘orb’ to be of abstract type ‘cv::ORB
 
原因是ORB这个类不能再这么调用了,解决方法如下:

在opencv 根目录找到opencvroot/samples/gpu/performance/tests.cpp

修改成如下代码。

TEST(ORB)
{
    Mat src = imread(abspath("../data/aloeL.jpg"), IMREAD_GRAYSCALE);
    if (src.empty()) throw runtime_error("can't open ../data/aloeL.jpg");

    //ORB orb(4000);
    Ptr<ORB> orb = ORB::create(4000,1.2f,8,31,0,2,ORB::HARRIS_SCORE,31,20);
    vector<KeyPoint> keypoints;
    Mat descriptors;
   
    orb->detectAndCompute(src, Mat(), keypoints, descriptors);

    //orb(src, Mat(), keypoints, descriptors);

    CPU_ON;
    //orb(src, Mat(), keypoints, descriptors);
    orb->detectAndCompute(src, Mat(), keypoints, descriptors);
    CPU_OFF;

    cuda::ORB_CUDA d_orb;
    cuda::GpuMat d_src(src);
    cuda::GpuMat d_keypoints;
    cuda::GpuMat d_descriptors;

    d_orb(d_src, cuda::GpuMat(), d_keypoints, d_descriptors);

    CUDA_ON;
    d_orb(d_src, cuda::GpuMat(), d_keypoints, d_descriptors);
    CUDA_OFF;
}

下面是原文地址:
 
 
我遇到的基本上就是这些错误了。再遇到什么新的错误会随时添加进来。
================================
2017年6月13日23:46:25补充
================================
 
今天在自己电脑上的虚拟机里装了一个Ubuntu14.04,然后安装opencv,按照“ Ubuntu14.04安装OpenCV3.0”这个教程来的,直到make,全程没有出现任何问题,samples里面的程序也尝试了,是正常运行的。
接着装了Darknet,然后将opencv编译进去,在运行YOLO进行测试的时候,图片是正常弹出来的,但是有个问题,就是下方会出现一个提示:
failed to load OpenCL runtime
 
不影响正常使用,但是总是会出现这个提示,在终端中输入一下命令即可解决:
 
sudo apt-get update
sudo apt-get install ocl-icd-opencl-dev
 
如果是在windows下出现了这个问题,可以安装下面这个软件:
 opencl_runtime_15.1_x86_setup 
搜索 opencl_runtime_15.1_x86_setup + Intel 便可以找到

 

posted @ 2017-06-14 22:39  马春杰杰  阅读(495)  评论(0编辑  收藏  举报