OpenCV2.4.2移植

一、编译环境及库文件
linux环境:ubuntu-10.04
交叉编译:arm-linux-gcc4.3.3
arm板子:arm9

libz:        zlib-1.2.7
libjpeg:       jpegsrc.v7
libpng:       libpng-1.5.10
libyasm:       yasm-1.2.0
opencv:        opencv-1.0.0
libx264:       x264-snapshot-20120608-2245
libxvid:       xvidcore-1.3.2
lffmpeg:       ffmpeg-0.10.3

1、libz的交叉编译:
http://download.csdn.net/detail/toocold/4447199


#make distclean

#./configure --prefix=/usr/local/arm/4.3.3/arm-none-linux-gnueabi --shared
#make
#make install

2、libjpeg的交叉编译:
http://download.chinaunix.net/download.php?id=28882&ResourceID=5095
#make distclean
#./configure --host=arm-linux --prefix=/usr/local/arm/4.3.3/arm-none-linux-gnueabi --enable-shared --enable-static
#make
#make install

3、libpng的交叉编译
http://sourceforge.net/projects/libpng/files/libpng15/older-releases/1.5.10/libpng-1.5.10.tar.bz2/download
#make distclean
#./configure --host=arm-linux --prefix=/usr/local/arm/4.3.3/arm-none-linux-gnueabi --enable-shared --enable-static 
#make
#make install

4、yasm的交叉编译:
http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz 
#apt-get install yasm
#make distclean
#./configure --host=arm-linux --prefix=/usr/local/arm/4.3.3/arm-none-linux-gnueabi --enable-shared --enable-static 
#make
#make install

其他参考:源码安装ffmpeg(带libx264)
http://www.byywee.com/page/M0/S769/769994.html

5、libx264的交叉编译:
# wget ftp://ftp.videolan.org/pub/x264/snapshots/x264-snapshot-20120718-2245-stable.tar.bz2
# tar xvf x264-snapshot-20120718-2245-stable.tar.bz2 
#cd x264-snapshot-20120718-2245-stable
#CC=arm-linux-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/usr/local/arm/4.3.3/arm-none-linux-gnueabi
#make
#make install

6、libxvid的交叉编译:
嵌入式系统中用于mpeg4压缩
http://www.pudn.com/downloads422/sourcecode/unix_linux/detail1789426.html

#cd build/generic
#./configure --prefix=/usr/local/arm/4.3.3/arm-none-linux-gnueabi --host=arm-linux  --disable-assembly  
#make
#make install

7、ffmpeg的交叉编译:
多媒体视频处理工具FFmpeg有非常强大的功能,包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。
http://ffmpeg.org/download.html

#./configure --prefix=/usr/local/arm/4.3.3/arm-none-linux-gnueabi --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm --disable-stripping --target-os=linux --enable-libx264 --enable-libxvid --cc=arm-linux-gcc --enable-swscale   
#make
#make install

8、opencv2.4.2的交叉编译:
#apt-get install cmake-qt-gui

目录说明:
交叉编译工具链所在目录      /usr/local/arm/4.3.3/
安装opencv的目录         /opt/opencv2.4.2-arm/
opencv源码所在目录          /home/opencv/OpenCV-2.4.2/
编译好的opencv库所在目录      /home/opencv/OpenCV-2.4.2/build/

#cd  /home/opencv/OpenCV-2.4.2/
#mkdir build
#cd build
#cmake-gui
选择源代码目录:
Where is the source code: /home/opencv/OpenCV-2.4.2
选择Build目录:
Where to build the binaries: /home/opencv/OpenCV-2.4.2/build
点击Configure,
保持generator为Unix Makefiles,
选择Specify options for cross-compiling,
点击Next,
Operating System填写arm-linux
C Compilers填写/usr/local/arm/4.3.3/bin/arm-linux-gcc
C++ Compilers填写/usr/local/arm/4.3.3/bin/arm-linux-g++
程序库的Target Root填写/usr/local/arm/4.3.3/
然后点击Finish。

修改默认配置:

默认安装目录为/usr/local,可以自己配置安装目录
把CMAKE_INSTALL_PREFIX变量改为/opt/opencv2.4.2-arm/

去掉WITH_TIFF选项
点击Generate生成Makefile。

修改CMakeCache.txt:
#vi CMakeCache.txt
CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt

#make
#make install 

/*******卸载和清除命令*******
#make uninstall 
#make clean 
#make distclean
***************************/
gedit /usr/local/lib/pkgconfig/opencv.pc 
Libs:最后添加-lpthread -lrt
ldconfig

三、测试
测试程序:
#include <cv.h>  
#include <cxcore.h>  
#include <highgui.h>  
 
int main(int argc,char **argv)  
{  
    CvCapture* capture = NULL;  
    IplImage* frame = NULL;  
      
    if(!(capture = cvCaptureFromCAM(-1)))  
    {  
        fprintf(stderr, "Can not open camera./n");  
        return -1;  
    }  
      
    cvNamedWindow("video", 1);  
      
    while(frame = cvQueryFrame( capture ) )  
    {  
        cvShowImage("video", frame);  
    }  
      
    cvDestroyWindow("video");  
    cvReleaseCapture(&capture);  


    return 0;  



编译:
#arm-linux-g++ -o opencv_test opencv_test.cpp -I /opt/opencv2.4.2-arm/include/opencv -L /opt/opencv2.4.2-arm/lib -lopencv_core -lopencv_highgui -lpthread -lrt
#arm-linux-g++ -I /opt/opencv2.4.2-arm/include -L /opt/opencv2.4.2-arm/lib -lopencv_core -lopencv_highgui -lpthread -lrt -o opencv_test opencv_test.cpp
库文件和命令要拷贝到对应的目录下
#cp /opt/opencv2.4.2-arm/lib /opt/GTStudio/GT2440/root_qtopia/usr/lib

#cp /workspace/OpenCV-2.4.2-arm/tograp /opt/GTStudio/GT2440/root_qtopia/usr/local/bin/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值