zedboard上移植OPENCV库

zedboard上移植OPENCV库

之前做了很多移植OPENCV库的工作,但是需要包含的各种库,需要交叉编译,X264 ,JPGE ,FFMPGE等等

注意:在《嵌入式系统软硬件协同设计实战指南》中13章中,说了需要关闭各种设置开关,根本原因是我们没有相应的库支持,所以我们如果需要在opencv中使用相应的库,那么就必须提前将各种库交叉编译好,放入交叉编译器的目录,我的交叉编译器安装目录/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/

那么我们就开始交叉编译以下库。

1 交叉编译器的搭建

交叉编译器的搭建参见:http://blog.csdn.net/xiabodan/article/details/22717175

2 交叉编译JPEG

1.安装libtool工具

1.1 下载libtool工具libtool-2.2.10.tar.gzhttp://mirrors.ustc.edu.cn/gnu/libtool/

1.2  tar -xvzf libtool-2.2.10.tar.gz -C /home/xzy/sdb1/JPEG/

1.3  进入解压后的目录,执行./configure

1.4  make

1.5  make install

2.JPEG编码库移植

2.1 下载JPEG源码包,选择jpegsrc.v6b.tar.gz    http://www.ijg.org/files/

2.2  解压  tar jpegsrc.v6b.tar.gz  -C /home/xzy/sdb1/JPEG/

2.3  进入解压后的目录,将刚刚libtool-2.2.10目录下的libltdl/config/config.sub和config.guess拷贝至此目录中。

2.4  配置./configure CC=arm-xilinx-linux-gnueabi-gcc  --host=arm-unknown-linux 

 –prefix=/home/xzy/sdb1/JPEG/jpeg-6b  --enable-shared   --enable-static

2.5  make

2.6  进入安装路径,创建如下目录
  
mkdir bin lib include man man/man1,我的安装目录就在这个目录,注意必须要创建这些目录,不然是不然make install的(试过了。)

2.7  make install,然后就ok了。

3 交叉编译x264

1  下载 yasm

yasm:http://yasm.tortall.net/Download.html

解压  进入目录 进行以下配置:

        ./configure --enable-shared --prefix=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/ --host=arm-unknown-linux
         make 
         make install

2 交叉编译x264

下载x264 :ftp://ftp.videolan.org/pub/videolan/x264/snapshots/

解压 之后进行配置

        ./configure --prefix=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/ --enable-shared

修改config.mak文件

	# 这里改为ARM
	ARCH=ARM
	SYS=LINUX
	# 这里改为arm-xilinx-linux-gnueabi-gcc
	CC=arm-xilinx-linux-gnueabi-gcc
	# 这里去掉-DHAVE_MMXEXT -DHAVE_SSE2 -DARCH_X86
	CFLAGS=-Wall -I. -O4 -ffast-math -D__X264__ -DHAVE_MALLOC_H -DSYS_LINUX -DHAVE_PTHREAD -s -fomit-frame-pointer LDFLAGS= -lm -lpthread -sAS=nasm

修改Makefile文件

libx264.a: .depend $(OBJS) $(OBJASM)
rm-linux-ar rc libx264.a $(OBJS) $(OBJASM)
arm-linux-ranlib libx264.a
make
make install

然后在/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/lib下就可以有相应的库生成

4 交叉编译xvid

下载XVID : http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz

        cd xvidcore-1.1.3/build/generic/	
        ./configure --prefix=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/ --disable-assembly
    	gedit platform.inc  修改 CC=arm-xilinx-linux-gnueabi-gcc

5 交叉编译ffmpeg

下载ffmpge  :http://download.chinaunix.net/download.php?id=5532&ResourceID=2990

tar xvjf ffmpeg-0.4.9-p20051120.tar.bz2

cd ffmpeg-0.4.9-p20051120/

6 交叉编译OpenCV

参考:

时间: 2025-01-12 02:54:05

zedboard上移植OPENCV库的相关文章

移植opencv到开发板,摄像头在开发板6410上的采集使用(1)

最近在搞人眼检测 人脸识别移植opencv qt 到开发板tiny6410的时候在虚拟机跑得程序可以用,但是一直到开发板一堆错误. 移植qt我简单写一下很简单 然后安装QT4.7 ①     拷贝压缩包到主机/opt目录下 ②     #mkdir –p /opt/mini6410 ③     #cd /opt/mini6410 ④     #tar zxvf /opt/qt-everywhere-opensource-src-4.7.0.tar.gz ⑤     执行以下命令执行Qt4.7.0

[转] Matlab与C++混合编程,添加OpenCV库

原文地址 峰回璐转 最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍 受.软件立刻移植到C++上又不太实际,故采用联合编程的方式,速度难以容忍的算法交给C++实现,C++在实现代码的过程中某些数值计算及图像处理算法 调opencv库函数. 在网上有很多matlab编写mex函数调用opencv库的方法,但都不能直接拿来.经过一步步试验,修改,最终完成,现将过程及内容记录下来留给后来人参考. 第一步: (参考参考

Matlab与C++混合编程,添加OpenCV库

最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍受.软件立刻移植到C++上又不太实际,故采用联合编程的方式,速度难以容忍的算法交给C++实现,C++在实现代码的过程中某些数值计算及图像处理算法调opencv库函数. 在网上有很多matlab编写mex函数调用opencv库的方法,但都不能直接拿来.经过一步步试验,修改,最终完成,现将过程及内容记录下来留给后来人参考. 第一步: (参考参考资料1,但其写的不够详细

关于在RK3288上安装Opencv的方法

Opencv是一个开源的计算机视觉库,可以给开发人员提供更便捷的方式设计复杂的视觉应用,Opencv主要是用c和c++编写,可以运行在Windows/Linux/Mac等上.这几天尝试着在RK3288上安装Opencv,被虐了好多遍,幸好没有放弃,终于弄出了.之前一直是通过电脑先交叉编译Opencv再移植的方法,但是在编译过程中总是遇到各种问题,换了不同的Opencv源又会出现新的问题,所以如果有交叉编译移植成功的朋友不妨交流一下.这里采用了一种比较折中的方法,直接在开发板上配置好环境,然后安装

Cygwin编译自定义OpenCV库报错:opencv_contrib: LOCAL_SRC_FILES points to a missing file

今天受命帮师弟调个OpenCV4Android 识别银行卡的程序,版本为OpenCV4Android2.4.9,使用方式为前文介绍的第一种方式,即通过jni调用opencv.如杂家前文所述,配套的NDK应使用较高版本的android-ndk-r9d.它的安装很简单,解压缩后设置环境变量到Path就ok:D:\ProgramFile\android-ndk-r9d; 但遗憾的是,同样的程序同样的配置在一台PC上通过Cygwin编译一切ok.但在新的一台电脑上却出现如下错误: Android NDK

arm上移植mplayer

关于mplayer移植网上资料很多,但都很混乱.在此,我做了一个关于mplayer 的详细总结.在做之前最好在解压源码包后,先通过./configure --help看一下相关配置. X86的LINUX上已经自带了解码库,不需要另外安装解码库,而arm平台自己做的文件系统没有解码库,需要另外安装解码库. 下载MPlayer:MPlayer-1.0rc2.tar.bz2        解码库:libmad-0.15.0b.tar.gz 一.在x86的LINUX上安装mplayer 1 #./con

Qt中添加OpenCV库

配置在Qt中的OpenCV,看了很多“教程”,最终成功.记一下过程. 本机配置: window7 32位系统: qt-opensource-windows-x86-mingw492-5.5.1: OpenCV2.4.10. 对于我来说配置过程比较难,因为目前我没用过Qt和Cmake,之前一直用VS编译C++,也没有用过MinGW,所以看教程中的各种命令或者执行文件都比较费时.这次各种尝试后成功.参考资料的连接在最后,其中帮助我最大的就是那一篇纯英文的,很详细. 前期准备 Qt5的opensour

XCode6.3上使用opencv教程(MacOSX 10.10)

OpenCV 是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法. 2. MacOSX上安装OpenCV 2.1. 安装Homebrew 2.2. 安装OpenCV 3. XCode建立OpenCV项目 3.1. 配置搜索路径 3.2. 添加链接库 3.3. 设置编译路径 3.

一步一步学ZedBoard & Zynq(七):制作ZedBoard上linux根文件系统(ramdisk)

一步一步学ZedBoard & Zynq(七):制作ZedBoard上linux根文件系统(ramdisk) 网址:http://xilinx.eetrend.com/blog/3935 Digilent的OOB设计给出了一个ZedBoard上完整的运行的linux系统所需要的所有文件,包括配置FPGA的bit文件. 配置ARM PS系统的First-Stage boot loader(FSBL)和引导linux需要的Second-Stage boot loader(SSBL).Linux内核z