资源描述:
《opencv图像处理应用和移植》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、OpenCV图像处理应用和移植摘要:Opecv是做图像处理的常用视觉处理算法,本文介绍了其特点以及移植方法。关键词:Opecv;图像处理;移植中图分类号:TP391.41文献标识码:A文章编号:1674-7712(2013)22-0000-01Opecv对于做图像处理的人应该很熟悉,OpenCV项目最早由英特尔公司于1999年启动,致力于CPU密集型的任务,是一个包括如光线追踪和3D显示的计划的一部分。OpenCV主要用于人机交互,物体识别,图像分割,人脸识别,动作识别,运动跟踪,机器人等。在应用图像处理的世界或者说开源图像处理的世界,Op
2、ecv是公认的比较好的图像处理库。而且OpenCV是一个跨平台的库,OpenCV可以在Windows,Android,Maemo,FreeBSD,OpenBSD,iOS,Linux和MacOS等平台上运行。自然在嵌入式平台上也可以成功移植。一、Opencv主要有以下几个特点(1)高可移植性:这个就不多说了,上面有介绍;(2)高性能:OpenCV中所有的算法都是基于封装于IPL的具有很高灵活性的动态数据结构,而且其中有一半以上的函数在设计及汇编时被Intel公司针对其所生产的处理器进行了优化;(3)开放性:不管对于商业的还是非商业的用途,Op
3、enCV都是完全免费的,其源代码完全开放,开发者可以对源代码进行修改,将自己设计的新类添加到库中,只要设计符合规范,自己的代码也可以被别人广泛使用。二、下面主要来讲讲Opencv的移植主要运用的编译环境为ubuntu10.0.4,交叉编译器为arm-linux-gcc4.5.1,目标环境为友善之臂Tiny6410开发板。我们借助cmake-gui进行交叉编译。首先在终端中调出Cmake-gui界面;选择源代码目录/home/6410/opencv/opencv-2.4.3/;选择Build目录:/home/6410/opencv/openc
4、v-2.4.3/build;点击Configure,保持generator为UnixMakefiles,选择Specifyoptionsforcross-compiling,点击Next,OperatingSystem填写arm-linux;CCompilers填写opt/FriendlyARM/toolschain/4・5.l/bin/arm—linux—gcc;C++Compilers填写opt/FriendlyARM/toolschain/4.5.l//bin/ann一linux一g++程序库的TargetRoot填写opt/Frie
5、ndlyARM/toolschain/4.5.1/然后点击Finish。默认安装目录为/usr/local,点击Generate生成Makefileo然后#make但是仅仅是Opencv库是不够的,还必须移植一些依赖库。以下就是要移植的库:llibz,libjpeg,libpng,libasm,libx264,libxvid,lffmpegoLibz的交叉编译:#・/configure一一prefix=/opt/FriendlyARM/toolschain/4.5.1/arm一none-linux-gnueabi一shared修改makef
6、ileCC=arm-1inux-gccAR=arm-linux-arrcRANLIB=arm-linux-ranlibCDSHARED=arm-linux-gcc-shared-wl,-soname,libz.so.1,一一version-script,zllib.map#make#makeinstalllibjpeg的交叉编译:#./configure--host二arm-linux一prefix=/opt/FriendlyARM/toolschain/4・5.l/arm—none—linux—gnueabi——enable-shared
7、——enable-static#makeinstalllibpng的交叉编译#・/configure--host=arm-linux--prefix=/opt/FriendlyARM/toolschain/4.5.l/aTm-none-linux—gnueabi一一enable-shared一一enable~static#make#makeinstallyasm的交叉编译:#./configure--host=arm-linux--prefix=/opt/FriendlyARM/toolschain/4.5.l/arm—none一linux
8、-gnueabi——enable-shared——enable-staticttmake#makeinstalllibx264的交叉编译:#CC=arm-linux-gcc・/c