操作系统:Ubuntu14.04.5 LTS 64bit

OpenCV:OpenCV 3.1.0、opencv_contrib

gcc:gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)

arm-xilinx-linux-gnueabi-gcc:gcc version 4.9.2 (Sourcery CodeBench Lite 2015.05-17)


一、Ubuntu下OpenCV3.1.0编译(包含opencv_contrib模块)

1、依赖包安装

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.-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--dev

2、下载源码

OpenCV:opencv-3.1.0.zip

官网链接:https://opencv.org/releases.html

contrib模块:opencv_contrib-3.1.0.zip

Github链接:https://github.com/opencv/opencv_contrib/releases

3、安装命令

unzip opencv_contrib-3.1..zip  # 解压
unzip opencv-3.1..zip # 解压
cd opencv-3.1.
mkdir build # 编译文件夹
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/opt/opencv310 -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib/modules/> ..
# OPENCV_EXTRA_MODULES_PATH用实际的地址代替,切勿漏掉最后的两个点“..”,表示上层文件夹的意思
make -j4 # -j4表示使用4个线程编译
make install # 安装到指定文件夹/opt/opencv310

4、安装后配置

Note:由于没有安装在/usr或/usr/local下,需要做一些额外的配置

##让opencv的相关链接库被系统共享
sudo gedit /etc/ld.so.conf.d/opencv310.conf
添加:/opt/opencv310/lib,保存
sudo ldconfig
##为程序指定openvc的头文件位置
sudo gedit /etc/bash.bashrc
在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/opencv310/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出,重新开启终端来使配置生效

执行一下命令检查OpenCV相关信息是否正确输出:

pkg-config opencv --libs       # 输出OpenCV的库文件信息
pkg-config opencv --cflags # 输出OpenCV的头文件信息

6、测试

OpenCV 3.1.0 dnn模块测试,参考官方教程链接:https://docs.opencv.org/master/d5/de7/tutorial_dnn_googlenet.html

二、OpenCV3.1.0交叉编译(包含opencv_contrib模块)[ for Zynq ]

1、依赖包安装

sudo apt-get install cmake-curses-gui

2、下载源码

见上述第一点第2小点。

3、重新解压缩源码包得到文件夹/opencv-3.1.0,并重命名为/opencv-3.1.0_zynq

4、设置编译环境(交叉编译链):在/opencv-3.1.0_zynq下新建文件toolchain.cmake,内容如下:

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-xilinx-linux-gnueabi-gcc)
set(CMAKE_CXX_COMPILER arm-xilinx-linux-gnueabi-g++)

5、安装命令

mkdir build       # 编译文件夹
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_TOOLCHAIN_FILE=../toolchain.cmake -D CMAKE_INSTALL_PREFIX=/opt/opencv310_zynq -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib/modules/> ..
# CMAKE_TOOLCHAIN_FILE 指定配置编译环境的文件,OPENCV_EXTRA_MODULES_PATH 用实际的地址代替,切勿漏掉最后的两个点“..”,表示上层文件夹的意思
ccmake ..

    打开配置界面后,修改如下:
    把所有以WITH开头的选项全部选为OFF(除了WITH_V4L选为ON外)(这些选项需第三方库支持,若用到则选为ON)
    按c键配置,然后按g键生成并退出

make -j4          # -j4表示使用4个线程编译
make install # 安装到指定文件夹/opt/opencv310_zynq

至此,OpenCV开发环境搭建完毕。

参考文章链接:

ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块) - Fienly - 博客园
https://www.cnblogs.com/asmer-stone/p/5089764.html

Zynq7000开发系列-5(OpenCV开发环境搭建:Ubuntu、Zynq)的更多相关文章

  1. windows phone 8 开发系列(一)环境搭建

    一:前奏说明 本人一名普通的neter,对新玩意有点小兴趣,之前wp7出来的时候,折腾学习过点wp7开发,后来也没怎么用到(主要对微软抛弃wp7的行为比较不爽),现在wp8已经出来一段时间了,市场上也 ...

  2. OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建

    # OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-hom ...

  3. (一)react-native开发系列之Mac开发环境配置

    写在前面 在开始之前,先说下选择react-native的背景原因 最近一年来,公司为了节省开发成本,以及降低维护成本,指派我开始做起前端开发app的工作,我和公司的小伙伴们就开始了漫长的app开发之 ...

  4. arcgis api for flex 开发入门(一)环境搭建

    http://www.cnblogs.com/wenjl520/archive/2009/06/02/1494514.html arcgis api for flex 开发入门(一)环境搭建arcgi ...

  5. Android开发使用控件入门--环境搭建

    Android开发使用控件入门--环境搭建 软件名称(,梦,,想.CAD  ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android S ...

  6. 【ARM-Linux开发】在win下开发的eclipse+yougatoo+jlink环境搭建

    在win下开发的eclipse+yougatoo+jlink环境搭建 一 工具的安装 第一步:安装gcc编译工具 yagarto-bu-2.21_gcc-4.6.2-c-C++_nl-1.19.0_g ...

  7. Android下OpenCV的环境搭建

    目录(?)[-] 前言 系统环境 相关工具 Android ADT环境搭建 Android SDK环境变量的配置 Android NDK的安装与配置 OpenCV for Android 环境搭建 基 ...

  8. 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)

    引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...

  9. Django + Apache + wsgi配置和环境搭建(ubuntu)

    上一篇写了Django + nginx + uwsgi配置和环境搭建(ubuntu) 由于公司服务器环境问题,又配置了apache的环境.记录例如以下: 一. 安装环境: #apache sudo a ...

  10. 跨平台开发之阿里Weex框架环境搭建(一)

    转载自:http://www.cnblogs.com/fozero/p/5995122.html 一.介绍 Weex是阿里今年6月份推出的跨平台解决方案,6月底正式开源.官网 https://alib ...

随机推荐

  1. 浅淡!important对CSS的重要性

    SS中的!important是一个非常重要的属性,有时候发挥着非常大的作用,52CSS.com这方面的知识并不是非常多,我们看下面的文章,对它作比较感观的了解. 前几天写一些CSS代码的时候又难为我了 ...

  2. amazon redshift 分析型数据库特点——本质还是列存储

    Amazon Redshift 是一种快速且完全托管的 PB 级数据仓库,使您可以使用现有的商业智能工具经济高效地轻松分析您的所有数据.从最低 0.25 USD 每小时 (不承担任何义务) 直到每年每 ...

  3. php排序方法之冒泡排序

    //冒泡排序法 $arr = array(3,55,45,2,67,76,6.7,-65,85,4); function bubblingSort($arr){ for ( $i=0; $i<c ...

  4. 什么是HTTP协议?

    HTTP协议(超文本传输协议)位于TCP/IP协议栈的应用层.传输层采用面向连接的TCP HTTP请求详细过程

  5. css font-family(字体样式)

    之前因为用的很少,所以没注意,最近做APP混合开发, 给字体一个样式    font-family:" 微软雅黑": 发现在有的手机上有效,但是在有的手机上是无效的, 解决方法:  ...

  6. H264解码器源码(Android 1.6 版)

    H264解码器源码,移植ffmpeg中的H264解码部分到Android,深度删减优化,在模拟器(320x480)中验证通过. 程序的采用jni架构.界面部分,文件读取,视频显示都是用java做的,底 ...

  7. JS正则对象 RegExp(有变量的时候使用),用来匹配搜索关键字(标红)

    1,平常我们写js正则规则的时候,一般是这样写: var reg = /abc/; 然而,这样写的话,如果abc是一个变量这样就不行,我们需要下面这种写法: var abc = "汉字&qu ...

  8. nodejs 循环的陷阱

    Node.js 的异步机制由事件和回调函数实现,一开始接触可能会感觉违反常规,但习惯 以后就会发现还是很简单的.然而这之中其实暗藏了不少陷阱,一个很容易遇到的问题就是 循环中的回调函数,初学者经常容易 ...

  9. CF-799A

    A. Carrot Cakes time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  10. ecplise常见的一些问题

    修改注释的字体,默认的字体太小了.