1:系统环境搭建

要准备好交叉编译环境 见http://blog.csdn.net/xiabodan/article/details/22717175

2:下载cmake

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为
CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是
CMake 和 SCons 等其他类似系统的区别之处。
CMake 可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake
支持 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake 也支持静态与动态程式库的建构。

 cmake用于opencv的配置 :apt-get install cmake-curses-gui

3:下载opencv原码

 官方:http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/
 我的:http://download.csdn.net/detail/xiabodan/7176253
 解压 tar -xvjf Opencv-2.3.1.tar.bz2 -C ./

4:配置cmake

  原码路径下 创建一build与install文件夹,用于存放编译文件 : mkdir  build
  在主目录下创建一个toolchain.cmake文件
gedit toolchain.cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER /root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/arm-xilinx-linux-gnueabi-gcc)
set(CMAKE_CXX_COMPILER /root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/arm-xilinx-linux-gnueabi-g++)
set(CMAKE_FIND_ROOT_PATH /linux/OpenCV/OpenCV-2.3.1/build/)


 接下来生成makefile文件 
cmake -D CMAKE_TOOLCHAIN_FILE=toolchain.cmake -D CMAKE_INSTALL_PREFIX=/linux/OpenCV/OpenCV-2.3.1/install ../
接着再ccmake ./进行配置,配置的内容是所有的以WITH开头的选项全部选成OFF,(除了WITH_V4L 选为ON)因为这些需要第三方库支持的,要是选择这些的话就需要安装第三方库了。按c配置,按g生成并保存
 ccmake  /linux/OpenCv/.....

5:Opencv 编译与安装

安装记录1:

ubuntu首次安装,也就是干净纯系统只是安装了  apt-get install cmake cmake-curses-gui 然后直接是  cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake ./

ccmake  ./没有关闭任何配置选项

成功编译OPENCV2.4.3        ------------- 100%

安装记录2:

然后试着安装


apt-get 
install build-essential
libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev
libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev

编译报错:关掉FFMPEG  IEEE1394,V4l1同样报错,总结:应该是我安装了各种库后就不能用opencv里面的库,所以要关闭OPENCV自带的选项,而用我们刚才安装的库来编译

安装记录3:

全部关闭 同样报错 ----------86%

安装记录4:OPencv-2.4.9

直接全开所有选项:报错
将所有选项全部关闭:编译通过
                                   但是在运行程序的时候只要程序里面有cvShowImage就会报错,说我的GTK库有问题 ,不知道怎么解决。


配置完成后就输入make开始编译,编译完成后就是make install安装啦。安装完成后在install的文件夹里就是运行库啦。

make install,安装完成后,可以在/usr/local/lib   目录下看看这些链接库,用file  libopencv_calib3d.so.2.3.1
查看信息,得到如下信息:

file
libopencv_calib3d.so.2.3.1libopencv_calib3d.so.2.3.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xb0d34a38b76b0bbe88511635df3bde46c281bb56, not stripped

6:移植

然后我们在安装库里面就可以找到编译后的OPENCV库,我的安装路径是在/usr/local/lib下
拷贝到我们zedboard的的文件系统中,一般放在usr/lib
cp -a lib/* /media/35d4ac74-c5c9-459b-952e-0207c42b3645/usr/lib/
还要记得将share,include,bin也拷贝到zedboard上去 
 cp * -a /media/16c3144a-3f71-434e-8bac-eecefae50d4c/usr/local/share/
cp * -a /media/16c3144a-3f71-434e-8bac-eecefae50d4c/usr/local/bin/
cp * -a /media/16c3144a-3f71-434e-8bac-eecefae50d4c/usr/local/lib/
cp * -a /media/16c3144a-3f71-434e-8bac-eecefae50d4c/usr/local/include/
cp edge_detection.o edge_detection_arm /media/16c3144a-3f71-434e-8bac-eecefae50d4c/

7:安装依赖库

sudo apt-get install libjpeg-dev build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev

apt-get install libtiff4-dev ffmpeg

8:编译源文件

 arm-xilinx-linux-gnueabi-g++ -I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann ./edge_detection.cpp -o ./opencv_test_arm.o


9:在zedboard中运行

./edge_detection_arm.o  ./lena.bmp  ./lena_edge.bmp

运行成功后就会在当前目录下生成一个lena_edge.bmp的图像







 -----------------------------------------------------------------------------------------------人生过隙,忽然而已!

zedboard OPENCV移植的更多相关文章

  1. zedboard上移植OPENCV库

    zedboard上移植OPENCV库 之前做了很多移植OPENCV库的工作,但是需要包含的各种库,需要交叉编译,X264 ,JPGE ,FFMPGE等等 注意:在<嵌入式系统软硬件协同设计实战指 ...

  2. opencv 移植

    1.ubunut系统搭建opencv+python开发环境 1.1.ubuntu系统安装pip3工具 sudo apt-get install python3-pip //安装python模块安装工具 ...

  3. 移植QT到ZedBoard(制作运行库镜像) 交叉编译 分类: ubuntu shell ZedBoard OpenCV 2014-11-08 18:49 219人阅读 评论(0) 收藏

    制作运行库 由于ubuntu的Qt运行库在/usr/local/Trolltech/Qt-4.7.3/下,由makefile可以看到引用运行库是 INCPATH = -I/usr//mkspecs/d ...

  4. 【转】OpenCV 移植学习--EMCV

    在Opencv论坛有好些这方面的帖子,主要看了一下几个牛人的帖子,比如论坛管理员于博士Shiqi Yu:(EMCV:可在DSP上运行的OpenCV)http://www.opencv.org.cn/f ...

  5. Android平台下OpenCV移植与使用---基于C/C++

    在<Android Studio增加NDK代码编译支持--Mac环境>和<Mac平台下Opencv开发环境搭建>两篇文章中,介绍了如何使用NDK环境和Opencv环境搭建与测试 ...

  6. ubuntu OPENCV移植

    Installing OpenCV 2.4.1 in Ubuntu 12.04 LTS 这是转载国外一篇文章  移植PC上的OPENCV  http://www.samontab.com/web/20 ...

  7. zedboard--交叉编译Opencv库的生成 分类: shell ubuntu fool_tree的笔记本 ZedBoard OpenCV 2014-11-08 18:57 171人阅读 评论(0) 收藏

    Opencv的移植,xzyfeixiang和rainysky的博客. 第一步肯定是下载opencv的源码包 第二步已经做好的交叉编译环境. 第三步下载安装cmake   apt-get install ...

  8. opencv移植(二)

    原文:https://blog.csdn.net/Guet_Kite/article/details/78667175?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接 ...

  9. OpenCV与QT联合编译 分类: Eye_Detection ZedBoard OpenCV shell ubuntu 2014-11-08 18:54 143人阅读 评论(0) 收藏

    问题1:首先参考rainysky的博客,发现qmake时发生找不到目录,文件的错误,又找不到 qmake.conf 文件的写法.所以开始按照网上的程序修改 XXX.pro 文件. 问题2:使用QT C ...

随机推荐

  1. nopCommerce 数据缓存

    为了提高一个系统或网站的性能和IO吞吐量,我们一般都会采用缓存技术.当然NopCommerce也不例外,本文我们就来给大家分析一下nop中Cache缓存相关类设计.核心源码及实现原理. 一.Nop.C ...

  2. [golang学习] 在idea中code & debug

    [已废弃]不需要看 idea 虽然审美倒退了n年. 不过功能还是相当好用的. idea 的go插件堪称最好的go ide. 1. 语法高亮支持 2. 智能提示 3. 跳转定义(反跳转回来) 4. 集成 ...

  3. org.apache.hadoop.conf-Configurable

    从包名可以看出这个包里面都是配置相关的类:从类名上可以看出这是一个接口,或者说配置类接口.内容很少. package org.apache.hadoop.conf; /** Something tha ...

  4. IIS 之 HTTP Error 404.2 – Not Found(ISAPI 和 CGI 限制)

    对于很多B/S架构的软件来说,在IIS中添加ISAPI和CGI限制功能是非常必要的,因为如果在IIS中不添加添加ISAPI和CGI限制功能可能会引起软件运行过程中报错,或者直接就登录不了. 1.允许I ...

  5. date类型时间比较大小

    #方法一Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false:Date1.before(Date2),当Date1小于Date2时,返回TRU ...

  6. 批量更新memcached缓存

    假如系统里有3类数据company,user,product 利用维护版本号version的方式达到批量更新缓存的效果 memcache.Add("company",cversio ...

  7. Laravel自学第一课:laravel下载与安装

    本地安装laravel,php环境要配置好,推荐xmapp一键搭建. 1.程序包直接从官方下载,官方开源地址:https://github.com/laravel/laravel(当然也可从此网站:h ...

  8. 【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴

    Drip Coffee

  9. WPF省市联动Binding

    主要思路: 把省的ItemsSource绑定DataContext,然后给市的ItemsSource绑定到Element(省)的SelectedItem上 xaml <Window x:Clas ...

  10. 使用spring + cxf +tomcat构建webservice

    这里使用maven构建的项目. 首先,我们构建一个maven项目: 然后将pom.xml文件中的内容拷贝到新建项目的pon.xml文件中: <project xmlns="http:/ ...