• 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

    解压 之后进行配置
            ./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

                
            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

             tar xvjf ffmpeg-0.4.9-p20051120.tar.bz2 
             cd ffmpeg-0.4.9-p20051120/

    6 交叉编译OpenCV


    参考:

       

    arm mini2440 基于v4l2 ffmpeg x264的视频远程监控http://blog.csdn.net/ghostyu/article/details/7371310

     

    基于v4l2的webcam应用, 本地预监http://blog.csdn.net/sunkwei/article/details/6530343

  • 相关阅读:
    mysql共享锁与排他锁
    脏读、幻读、不可重复读和丢失更新
    数据库事务原理及并发、死锁
    漫谈php框架之中间件
    [PHP]用户登陆中间件
    POJ 1753 Flip Game (状态压缩 bfs+位运算)
    CSU
    CSU
    CodeForces
    CSU 1726: 你经历过绝望吗?两次!(bfs+优先队列)
  • 原文地址:https://www.cnblogs.com/xiabodan/p/4038592.html
Copyright © 2020-2023  润新知