文档章节

Ubuntu14.04 下 OpenCV3 安装

KyJason
 KyJason
发布于 2015/07/17 23:09
字数 913
阅读 25844
收藏 13

在ubuntu14.04下安装Opencv3,遇到了许多不明白的问题,第一次安装成功了 并没有什么问题,系统重装后再次安装,却出现了很多问题,特作笔记。

一 按照官网安装Opencv步骤:

1.需要的包:

    GCC 4.4.x 或更高

    CMake 2.8.7 或更高

    Git

    GTK+2.x 或更高,包括头(libgtk2.0-dev)

    pkg-config

    Python 2.6 或以后,Numpy 1.5或以后,和开发包(python-dev,python-numpy)

    ffmpeg 或者libav开发包:libavcodec-dev, libavformat-dev, libswscale-dev

    可选包:libtbb2 ,libtbb-dev

    可选包:libdc1394 2.x   

    可选包:libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev

可以用一下代码进行安装:

    基本:

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

2.下载安装包opencv-3.0.0.zip,也可以自行上opencv官网下载http://opencv.org/

解压安装包到你想要的地方,本文以存放主文件加下。

3. 利用终端进入opencv3文件夹,代码如下:

cd ~/opencv-3.0.0

4. 新建build文件夹存放opencv的编译文件,进入build文件夹代码如下

mkdir build
cd build

5. 配置opencv文件,代码如下:

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

或者使用cmake-gui用图形界面编译。

6. 进行编译,代码如下:

make

7. 安装opencv库到系统,代码如下:

sudo make install

这样OpenCV就可以使用了。


二 测试

新建一个HelloWorld.cpp,代码如下:

#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>

using namespace cv;

int main( int argc, char** argv )
{
    
    if( argc != 2 )//判断参数是否是两个
    {
        printf( " No image data \n " );
        return -1;
    }
    char* imageName = argv[1];

    Mat image;
    image = imread( imageName, 1 );//读入图片

    if(  !image.data)//判断是否有数据
    {
        printf( " No image data \n " );
        return -1;
    }

    namedWindow( imageName, CV_WINDOW_AUTOSIZE );
    imshow( imageName, image );//显示图片

    waitKey(0);

    return 0;
}

新建CMakeLists.txt,代码如下:

cmake_minimum_required(VERSION 2.8)
project(helloworld)
add_executable(helloworld HelloWorld.cpp)
find_package(OpenCV REQUIRED)
target_link_libraries(helloworld ${OpenCV_LIBS})

在两个文件所在目录新建build文件夹存放编译代码,并进行编译,代码如下:

mkdir build
cd build
cmkae ..
make

之后可以看见build文件夹里生成一个helloworld的可运行文件,运行代码:

./helloworld pitcure.jpg

picture.jpg为传入的图片,作为参数,放在build文件夹里,也可以自己编写路径。


三 问题

以上就是OpenCV安装全过程,安装过程中可能碰到一些问题,例举一些。

在编译的过程中可能会碰到找不到Qt5文件的情况,只是一个警告可以不理,如果有强迫症的同学可以安装一下Qt5

CMake Warning at cmake/OpenCVFindLibsGUI.cmake:18 (find_package):
  By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Qt5Core", but
  CMake did not find one.

另一个是ICV hash校验值不符的问题

CMake Warning at 3rdparty/ippicv/downloader.cmake:54 (message):
  ICV: Local copy of ICV package has invalid MD5 hash:
  0103b909e19ca9c6497a7ae696c16480 (expected:
  8b449a536a2157bcad08a2b9f266828b)
Call Stack (most recent call first):
  3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)
  cmake/OpenCVFindIPP.cmake:235 (include)
  cmake/OpenCVFindLibsPerf.cmake:12 (include)
  CMakeLists.txt:526 (include)


-- ICV: Downloading ippicv_linux_20141027.tgz...
CMake Error at 3rdparty/ippicv/downloader.cmake:71 (file):
  file DOWNLOAD HASH mismatch

    for file: [/home/jason/program/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b/ippicv_linux_20141027.tgz]
      expected hash: [8b449a536a2157bcad08a2b9f266828b]
        actual hash: [0103b909e19ca9c6497a7ae696c16480]

Call Stack (most recent call first):
  3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)
  cmake/OpenCVFindIPP.cmake:235 (include)
  cmake/OpenCVFindLibsPerf.cmake:12 (include)
  CMakeLists.txt:526 (include)

之后查了很多资料也没有发现也不知道该怎么解决,后来去查了一下代码,发现这个是下载ippicv_linux_20141027.tgz时的校验和不符,查看了配置文件,发现可以自行从http://sourceforge.net/projects/opencvlibrary/files/3rdparty/ippicv这里下载,奇怪的是编译时从这里下载的文件和自己下载的文件校验值居然不一样,也真是神奇,将下载的文件

~/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b ,代替原来的同名文件,ok问题解决。



© 著作权归作者所有

KyJason
粉丝 11
博文 66
码字总数 46289
作品 0
杭州
程序员
私信 提问
加载中

评论(3)

d
dhhwczq
make之后出现找不到makefile文件,怎么解决
KyJason
KyJason

引用来自“接卫”的评论

ICV hash校验值不符的问题没有解决我用的是opencv3.1.0的cmake安装的,请问下怎么修改配置或者下载覆盖文件,请赐教
~/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b 就是这个路径 ,文件放进去就可以了
接卫
ICV hash校验值不符的问题没有解决我用的是opencv3.1.0的cmake安装的,请问下怎么修改配置或者下载覆盖文件,请赐教
从0搭建MXNet环境

安装知识点 01 目标 在没有Linux环境的前提下,从头开始安装Linux环境与cuda 并且编译安装mxnet的gpu加速环境 及配置python接口。 02 步骤 安装ubuntu 16.04 安装cuda 8.0 安装anaconda3 编译...

云戒
2017/02/20
0
0
在Xcode和AppCode上配置OpenCV3

在浏览了几篇博文后,我也成功的在我们的机器上配置了opencv3,下面是我的安装过程: 我的环境: 安装流程: 配置OpenCV3 在Xcode上面配置OpenCV3: 图1.png 图2.png 图3.png 图4 .png 图5.p...

小飞猪哈哈
2017/12/03
0
0
Windows环境下编译OpenCV3.0和OpenCV_contrib

一、下载安装 OpenCV3.0下载地址:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0/ OpenCVcontrib下载地址:https://github.com/Itseez/opencvcontrib cmake-gui下载......

moki_oschina
2016/11/24
14
0
OpenCV3中的机器学习算法

OpenCV3中加入了几种机器学习算法,可以将机器学习算法与图像和视频处理结合起来。可参考: OpenCV/OpenCV3计算机视觉软件支持库和最新资源 OpenCV3的最新特征 OpenCV3的人脸检测-使用Pytho...

openthings
2016/03/01
126
0
利用Anaconda3安装opencv3

之前试过pip安装法、whl安装法,都无法配置好opencv环境,后来尝试在anaconda的tensorflow环境下安装成功。步骤如下: 1、输入以下命令激活tensorflow环境: 2、安装opencv3: 3、验证是否生...

Darkchaox
02/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微信小程序和百度小程序开发的一些不同点

1: initActive从onload放到onready中 2: bindtap='{{childTickeData.freeadd?"childticket":""}}',语法错误。会导致页面加载不出来,而且也不报任何错。 3:使用搬家工具,支付api名称转换......

醉雨
14分钟前
0
0
最近执行过的SQL语句查询

SELECT TOP 1000 ST.text AS '执行的SQL语句' , QS.execution_count AS '执行次数' , QS.total_elapsed_time / 10000 AS '耗时' , QS.total_logical_reads AS '逻辑读取次数' , QS.total_lo......

神手--追魂
15分钟前
0
0
从濒临解散到浴火重生,OceanBase 这十年经历了什么?

阿里妹导读:谈及国产自研数据库,就不得不提 OceanBase。与很多人想象不同的是,OceanBase 并非衔着金钥匙出生的宠儿。相反,它曾无人看好、困难重重,整个团队甚至数度濒临解散。 从危在旦...

阿里云官方博客
19分钟前
0
0
阿里开发者招聘节 | 面试题02-04:给定一个二叉搜索树(BST),找到树中第K小的节点

为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次将陆续放出(面试题官方参考答案...

阿里云云栖社区
35分钟前
1
0
使用Redis SETNX 命令实现分布式锁

基于setnx和getset http://blog.csdn.net/lihao21/article/details/49104695 使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法。 SETNX命令简介 命令格式 SETNX key value 将 ke...

彬彬公子
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部