首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ubuntu16.4 OpenCV 安装指南

最近在学习yolov3模型,想用自己的数据集跑一下作者的darknet模型试一下,在训练的过程中遇到了诸多问题,opencv的安装便是其中比较棘手的一个问题,下面给大家介绍opencv2.4.9 安装过程和踩到的一些坑。

一、opencv安装流程

1.1 安装辅助工具

sudo apt-get install git

sudo apt-get install g++

sudo apt-get install vim

1.2 下载opencv

https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download?use_mirror=jaist

1.3 解压

下载完成后解压压缩包:

unzip opencv-2.4.9.zip

建议下载后将压缩包复制到home文件夹,方便查找。

进入opencv-2.4.9文件下

cd opencv-2.4.9

创建一个release文件

mkdir release

1.4 安装依赖库

sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev

在opencv的官方文档也有说明:

GCC 4.4.x or later. This can be installed with:

CMake 2.6 or higher;

Git;

GTK+2.x or higher, including headers (libgtk2.0-dev);

pkg-config;

Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy);

ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev;

[optional] libdc1394 2.x;

[optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev.

ff-dev, libjasper-dev.

1.5 进入刚新建的release文件夹生成MakeFile文件

cd releaase

安装所有的lib文件都会被安装到/usr/local目录下

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

如果遇到Unsupported gpu architecture 'compute_11'的错误,解决方法为:

由于作者安装时未保存截图,故借用博客中的一张图片,截图引自:

1.6 构建和安装

在release文件夹下输入make

出现的问题

(1):/home/lingck/opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(129): error: a storage class is not allowed in an explicit specialization

出现的问题(2):

make[2]: *** [modules/gpu/CMakeFiles/opencv_gpu.dir/src/graphcuts.cpp.o] 错误 1

解决办法:打开graphcuts.cpp文件,修改graphcuts.cp

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

为:

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

opencv下载完成界面:

安装opencv:

make install

加载动态链接库:

sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

sudo ldconfi

安装成功,验证opencv安装版本:

以上过程便完成了opencv的安装流程,下面是安装过程中踩到的一些坑。

踩坑集锦:

问题一:cmake成功,make时报错

解决方法:

输入:“cmake -D CMAKE_BUILD_TYPE=bulid -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..”,即可解决!

问题二:error: a storage class is not allowed in an explicit specialization

1.安装opencv之前,必须安装CUDA

2. 下载libopencv4tegra-repo_l4t-r21_2.4.10.1_armhf

下载网址:https://developer.nvidia.com/linux-tegra-rel-21

3. 在这个步骤可能出现的问题

在build之前,替换“NCVPixelOperations.hpp”文件!否则会编译出错!!!

即:

opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51):

error: a storageclassisnotallowedinanexplicitspecialization

NCVPixelOperations.hpp

所在目录:/Home/opencv-2.4.9/modules/gpu/src/nvidia/core

正确的 NCVPixelOperations.hpp

下载地址:http://download.csdn.net/download/znculee/9294885

参考:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190113G089SW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券