导读: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
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
6、进入 /home/cheng/opencv/build/
make
make install
查看安装目录下的文件,将bin目录下的文件拷贝到开发板/bin目录下
Lib目录下的文件拷贝到开发板/lib目录下
移植过程中还遇到了其他的一些警告信息
由于环境或编译器使用的不同,遇到的情况可能不同,有错误建议多百度,多思考,静心。
版权声明:操作部分来自启扬程工博客。
转载请注明出处 https://blog.csdn.net/qq_38625051/article/details/78146808