启扬智能-ARM嵌入式开发平台与方案提供商

才智横溢 / 卓越品质

如何将Opencv3.2移植到IMX6开发板?

发布日期:2019/05/05 08:02:30 发布者:admin

导读:OpenCV是一个跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。本文主要讲述如何在ubuntu12.04环境下,移植Opencv3.2到启扬IMX6开发板上。

计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三个痛点:
1、研究代码(慢,不稳定,独立并与其他库不兼容);
2、耗费很高的商业化工具(比如Halcon, MATLAB+Simulink);
3、依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)。

这是如今的现状,而标准的API将简化计算机视觉程序和解决方案的开发,OpenCV致力于成为这样的标准API。

OpenCV通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。

(上图为OpenCV与当前其他主流视觉函数库的性能比较)

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

那么OpenCV2.3如何在ubuntu12.04环境下,移植到启扬i.MX6开发板上,请参考以下操作。

移植环境:ubuntu12.04
交叉编译器:arm-fsl-linux-gnueabi-gcc 版本4.6.2
目标板子:启扬IAC-IMX6-Kit

启扬imx6开发板

1、下载opencv3.2 源码,参考链接:https://github.com/opencv/opencv/releases/tag/3.2.0 (下载tar.gz格式) ;
编译目录:/home/cheng/opencv/build
安装目录:/home/cheng/opencv/cv3.2

2、下载cmake cmake-gui2.8.7 命令行启动cmake-gui;

3、配置成功后,点击configure, 然后选择最后一项,点击next;

target root是寻找lib和include这些库文件和头文件,这些文件在交叉编译器安装目录下。 operating system 填写arm-fsl-linux-gnueabi-gcc 就是用的交叉编译器的名字。

4、去掉WITH_TIFF WITH_CUDA //不去掉也行,
修改CMAKE_BUILD_TYPE为Release //不选也行,
CMAKE_INSTALL_PREFIX 选择安装目录;

5、修改: /home/cheng/opencv/build/ vimCMakeCache.txt 大致在196行
CMAKE_EXE_LINKER_FLAGS:STRING='' 修改为
CMAKE_EXE_LINKER_FLAGS:STRING=-ldl -lrt 备注:这个地方要根据具体情况修改
也可能是Libs: -L${libdir} -lcv -lcxcore -lcvaux -lml -lpthread -ldl

进入 /home/cheng/opencv/build/
make
make install

查看安装目录下的文件,将bin目录下的文件拷贝到开发板/bin目录下
Lib目录下的文件拷贝到开发板/lib目录下
移植过程中还遇到了其他的一些警告信息

由于环境或编译器使用的不同,遇到的情况可能不同,有错误建议多百度,多思考,静心。