操作系统: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. require实现单页应用程序(SPA)

    写了一个测试代码,用require.js配合它的一个插件text.js实现了最简单的单页应用程序,简单的记录一下,方便以后复习, git地址:https://github.com/lily1010/r ...

  2. PICT实现组合测试用例

    成功安装后,在命令行中输入命令pict: 可以看到pict命令的一些选项: /o:N   组合数,默认值为2,即pict生成的测试用例集中每条测试数据会有两个值与其他测试集是不同的: /d:C   值 ...

  3. iOS 键盘遮挡输入框万能解决方案(多个输入框)

    效果图如下: 思路分析: 代码: 知识点: 问题: 效果图如下: 思路分析: 当我们有很多输入框时,有时候键盘弹出来会遮挡着输入框.我们需要获取输入框和键盘相对于最外层视图的位置来判断是否遮挡,如果遮 ...

  4. codeforces D. Toy Sum 解题报告

    题目链接:http://codeforces.com/problemset/problem/405/D 题目意思:从 1 - 1000000 中选择 n 个数:x1,x2,...,xn,对 x1-1, ...

  5. List集合进行分页

    /** * @ClassName: Text2 * @Description: (集合的分页算法) * @author Luhan * @date 2017年3月16日 下午17:18:06*/pub ...

  6. linux应用之Mongodb的安装及配置(centos)

    Mongodb是一种nosql类型的数据库,高性能.易部署.易使用的特点在IT行业非常流行. 下面介绍一下mongodb的安装方式,这里我们是在linux下安装,使用的是centos6.4 64位的, ...

  7. 使用diskpart命令修复U盘分区

    前段时间在论坛上讨论封装PE到u盘里热闹的,就想自己也封装一个,随便下载了一个WIN7的PE封装后发现还不错,本来就是做测试用的,测试完了就想把u盘在恢复成以前的样子,可是发现恢复并不是这么容易 如下 ...

  8. Java笔记(四)

    13. 集合框架: 集合中存储的都是对象的引用(地址) 迭代器:集合的取出元素的方式 import java.util.ArrayList; import java.util.Iterator; pu ...

  9. AutoIt: 如何使用 AutoIt 解析,修改XML 文件

    项目组这次要发布一个项目,需要实施人员根据现场的机器情况,修改项目配置文件的几个节点,为了减轻实施人员的工作负担,我应用AutoIt写了一个小界面,实施人员只需在该界面上点几个按钮,就能够完成文件的配 ...

  10. WebBrowser内嵌页面的跨域调用问题

    很早之前我写过一篇Blog:网页通过External接口与WebBrowser交互,文中的交互其实只介绍了JS调用C++的部分,而C++调用JS由于微软自己的例子太多,那篇文章就没介绍,不过我最近遇到 ...