您的位置:首页 > 运维架构

OpenCV2.4.2移植

2014-12-16 16:58 323 查看
一、编译环境及库文件

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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: