ARM技术论坛
登录
直播中
马猛
12年用户
293经验值
擅长:嵌入式技术 处理器/DSP
私信
关注
[经验]
【创龙TL437x-EVM评估板免费试用】在创龙TL437x-EVM评估板移植OpenCV
创龙
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、
matlab
等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。
OpenCV 4.0
2018年10月4.0.0发布,OpenCV开始需要支持C++11的编译器才能编译,同时对几百个基础函数使用 "wide universal intrinsics"重写,这些内联函数可以根据目标平台和编译选项映射为SSE2、 SSE4、 AVX2、NEON 或者 VSX 内联函数,获得性能提升。此外,还加入了QR code的检测和识别,以及Kinect Fusion algorithm,DNN也在持续改善和扩充。
Cmake的安装
OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。
ubuntu下安装cmake比较简单,
apt-get install cmake
如果觉得自带的版本不符合要求,可以下载安装包。
下载最新版的安装包:
http://www.cmake.org/cmake/resources/software.html
这里下载已经编译好的,这样只需要解压至需要的目录下即可使用:
tar zxvf cmake-2.8.10.2-Linux-i386.tar.gz –C /usr/local/
设置环境变量:
sudo gedit /home/emouse/.bashrc
在打开的文件后添加:
export PATH=$PATH:/usr/local/cmake-2.8.10.2-Linux-i386/bin
查看版本,测试是否安装成功:
root@emouse:/home# cmake --version
cmake version 2.8.10.2
OpenCV 的交叉编译
解压OpenCv2.4.11
本次移植的OpenCV版本为OpenCV-2.4.11。将opencv-2.4.11.zip压缩文件拷贝到Ubuntu的”/home/tronlong/AM437x”目录下,进入文件所在路径,执行如下命令,将opencv-2.4.11.zip解压,文件会解压在当前目录。
Host# unzip opencv-2.4.11.zip
配置和编译OpenCV2.4.11
进入源码目录,新建build目录用于存放工作文件。依次执行如下命令:
Host# cd opencv-2.4.11
Host# mkdir build
Host# cd build
在build目录下,新建配置文件arm-linux-gnueabihf.cmake。
如使用V01.00.00.03版本LinuxProcessor-SDK,请写入如下内容:
# the name of the target opera
ti
ng system
SET(CMAKE_SYSTEM_NAME Linux)
# which C and C++ compiler to use
SET(CMAKE_C_COMPILER/home/tronlong/ti-processor-sdk-linux-am437x-evm-01.00.00.03/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-gcc)
SET(CMAKE_CXX_COMPILER /home/tronlong/ti-processor-sdk-linux-am437x-evm-01.00.00.03/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-g++)
#here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /home/tronlong/ti-processor-sdk-linux-am437x-evm-01.00.00.03/linux-devkit/sysroots/cortexa9t2hf-vfp-neon-linux-gnueabi/usr/lib)
#adjust the default behaviour of the FIND_XXX() commands:
#search headers and libraries in the target environment, search
#programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
如使用V03.03.00.04版本LinuxProcessor-SDK,请写入如下内容:
# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Linux)
# which C and C++ compiler to use
SET(CMAKE_C_COMPILER/home/tronlong/ti-processor-sdk-linux-am437x-evm-03.03.00.04/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc)
SET(CMAKE_CXX_COMPILER /home/tronlong/ti-processor-sdk-linux-am437x-evm-03.03.00.04/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-g++)
#here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /home/tronlong/ti-processor-sdk-linux-am437x-evm-03.03.00.04/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/lib)
#adjust the default behaviour of the FIND_XXX() commands:
#search headers and libraries in the target environment, search
#programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
红色内容请修改为对应平台LinuxProcessor-SDK安装包实际的交叉编译工具链和系统库文件路径。从文档拷贝上述内容时,指令可能会出现换行现象,拷贝时请仔细核对。
执行如下命令安装编译插件:
Host#
sudo apt-get install cmake
在build目录下执行如下命令进行配置并生成makefile:
Host#
cmake -DWITH_OPENCL=OFF -DWITH_OPENMP=OFF-DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/home/tronlong/AM437x/opencv-2.4.11-DCMAKE_TOOLCHAIN_FILE=arm-linux-gnueabihf.cmake ..
执行make指令,编译适用于AM437x平台的OpenCV库文件,结果如下图所示:
Host#
make
执行如下指令将OpenCV库文件安装到”opencv-2.4.11/lib”目录中。
Host#
make install
安装完成后如下图所示:
安装OpenCV
库到
开发板
将”opencv-2.4.11/lib”目录下所有文件拷贝到开发板文件系统”/usr/lib”目录中,即可在开发板运行基于OpenCV的相关例程。
更多回帖
rotate(-90deg);
回复
相关帖子
创龙
【
创
龙
TL437x-EVM
评估
板
免费
试用
】
试用
体验,板子的硬件
评估
(一)
5237
【
创
龙
TL437x-EVM
评估
板
免费
试用
】开箱检验
1312
创
龙
TL437x-EVM
评估
板
免费
试用
-基本调试
1276
【
创
龙
TL437x-EVM
评估
板
免费
试用
】
试用
评估
之二:Linux交叉开发环境搭建
3777
【活动结束倒计时1天!】
创
龙
TL437x-EVM
评估
板
试用
申请!
924
低成本ARM工业数据网关方案——
TL335x-EVM
×
TL437x-EVM
评估
板
2047
TL437x-EVM
评估
板
测试手册(2)
1407
TL437x-EVM
评估
板
测试手册(1)
1767
TL437x-EVM
是什么?有何性能
685
创
龙科技
TL335x-EVM
评估
板
试用
1381
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分