OpenCV图像处理应用与移植

点赞:5291 浏览:19139 近期更新时间:2024-04-21 作者:网友分享原创网站原创

摘 要:Opecv是做图像处理的常用视觉处理算法,本文介绍了其特点以及移植方法.

关 键 词 :Opecv;图像处理;移植

中图分类号:TP391.41 文献标识码:A 文章编号:1674-7712 (2013) 22-0000-01

Opecv对于做图像处理的人应该很熟悉,OpenCV项目最早由英特尔公司于1999年启动,致力于CPU密集型的任务,是一个包括如光线追踪和3D显示的计划的一部分.OpenCV主要用于人机交互,物体识别,图像分割,人脸识别,动作识别,运动跟踪,机器人等.在应用图像处理的世界或者说开源图像处理的世界,Opecv是公认的比较好的图像处理库.

而且OpenCV是一个跨平台的库,OpenCV可以在Windows,Android,Maemo,FreeBSD,OpenBSD,iOS,Linux和Mac OS等平台上运行.自然在嵌入式平台上也可以成功移植.

一、Opencv主要有以下几个特点

(1)高可移植性:这个就不多说了,上面有介绍;(2)高性能:OpenCV 中所有的算法都是基于封装于IPL的具有很高灵活性的动态数据结构,而且其中有一半以上的函数在设计及汇编时被Intel公司针对其所生产的处理器进行了优化;(3)开放性:不管对于商业的还是非商业的用途,OpenCV都是完全免费的,其源代码完全开放,开发者可以对源代码进行修改,将自己设计的新类添加到库中,只要设计符合规范,自己的代码也可以被别人广泛使用.

二、下面主要来讲讲Opencv的移植

主要运用的编译环境为ubuntu 10.0.4,交叉编译器为arm-linux-gcc 4.5.1,目标环境为友善之臂Tiny6410开发板.

我们借助cmake-gui进行交叉编译.

首先在终端中调出Cmake-gui界面;

选择源代码目录/home/6410/opencv/opencv-2.4.3/;

选择Build目录:/home/6410/opencv/opencv-2.4.3/build;

点击Configure,保持generator为Unix Makefiles,选择Specify options for cross-piling,点击Next,

Operating System填写arm-linux;

C Compilers填写opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc;

C++ Compilers填写opt/FriendlyARM/toolschain/4.5.1//bin/arm-linux-g++

程序库的Target Root填写opt/FriendlyARM/toolschain/4.5.1/

然后点击Finish.

默认安装目录为/usr/local,点击Generate生成Makefile.

然后#make

但是仅仅是Opencv库是不够的,还必须移植一些依赖库.

以下就是要移植的库:llibz,libjpeg,libpng,liba,libx264,libxvid,lffmpeg.

Libz的交叉编译:

#./configure --prefix等于/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --shared

修改makefile

CC等于arm-linux-gcc

AR等于arm-linux-ar rc

RANLIB等于arm-linux-ranlib

CDSHARED等于arm-linux-gcc -shared -wl, -soname,libz.so.1,--version-script,zl

lib.map

#make

#make install

libjpeg的交叉编译:

#./configure--host等于arm-linux--prefix等于/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi

OpenCV图像处理应用与移植参考属性评定
有关论文范文主题研究: 数据结构类论文范文 大学生适用: 电大论文、函授论文
相关参考文献下载数量: 49 写作解决问题: 本科论文怎么写
毕业论文开题报告: 标准论文格式、论文目录 职称论文适用: 职称评定、职称评初级
所属大学生专业类别: 本科论文怎么写 论文题目推荐度: 优质选题

--enable-shared --enable-static

#make install

libpng的交叉编译

#./configure--host等于arm-linux--prefix等于/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --enable-shared --enable-static

#make

#make install

ya的交叉编译:

#./configure--host等于arm-linux--prefix等于/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --enable-shared --enable-static

#make

#make install

libx264的交叉编译:

#CC等于arm-linux-gcc ./configure --enable-shared --host等于arm-linux --disable-a--prefix等于/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi

#make

#make install

libxvid的交叉编译:

#cd build/generic

#./configure--prefix等于/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi--host等于arm-linux --disable-assembly

#make

#make install

ffmpeg的交叉编译:

#./configure --prefix等于/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --enable-shared --disable-static --enable-gpl --enable-cross-pile --arch等于arm --disable-stripping --target-os等于linux --enable-libx264 --enable-libxvid --cc等于arm-linux-gcc --enable-swscale

#make

#make install

然后只要把编译好的库拷贝到arm板的lib目录下就可以了.

当然移植过程中会出现各种难以预料的问题.这些问题在实践中才能发现和解决,用于实践这样水平才能提高.


猜你想找