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/
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/
相关文章推荐
- 移植opencv2.4.2到tiny6410的实例
- opencv2.4.2移植到ARM中
- Tiny6410的OpenCV2.4.2移植笔记
- 移植opencv2.4.2到tiny6410的实例
- 移植opencv2.4.2到tiny6410的实例
- 移植opencv2.4.2到tiny6410
- opencv2.4.2移植到ARM中
- opencv2.4.2 tiny6410移植
- opencv2.4.2移植到tiny6410
- opencv2.4.2移植到tiny6410
- opencv在64位4418上的移植
- OpenCV-2.4.2丢失tbb_debug.dll的解决方法
- 移植Opencv-2.0.0到ARM11(S3C6410)
- OpenCV在ARM平台上的移植
- Linux下编译与ARM下移植opencv1.0.0详细步骤
- opencv+opencl c++程序移植心酸路
- 移植OpenCV到ARM(OK210)
- Android平台下OpenCV移植与使用---基于C/C++
- 二维码解析库zbar+openCV的移植和使用
- linux 下 opencv2.0 的移植 (ARM9)