学会在嵌入式Linux下使用OpenCV

 1). 简介

OpenCV的全称是Open Source Compu     te   r Vision Library,是一个跨平台的计算机视觉库。OpenCV是由     英特尔   公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序,以解决人机交互,     人脸识别   以及动作跟踪等领域的问题。

本文所采用的     测试   平台为来自Toradex的     ARM   计算机模块平台Colibri iMX6DL搭配其对应的开发载板Colibri Eva Board.

2. 准备

a). Colibri iMX6DL系统通过载板X18连接LVDS LCD显示屏。

b).     USB   camera 用于后续OpenCV演示程序测试。

c). Colibri iMX6DL 系统使用Toradex     Linux   Release V2.6.1,不过原生没有包含OpenCV支持,可以通过下面两种方式集成OpenCV。

./ 在Colibri iMX6DL官方Linux release系统上面,通过opkg软件管理器在线安装

------------------------------

root@colibri-imx6# opkg update

root@colibri-imx6# opkg install opencv

root@colibri-imx6# opkg install opencv-apps

------------------------------

./ 基于Toradex Openembedded环境添加OpenCV相关并重新编译,好处可以更方便的定制所需安装的包,如添加ffmpeg/lib**支持。建立环境和编译相关请参考这里,涉及到添加OpenCV支持的修改请参考下面两个patch文件,然后根据这里说明将重新编译好的image文件更新到Colibri iMX6DL模块上面去。

------------------------------

//local.conf文件添加OpenCV支持

https://github.com/simonqin09/opencv_patch/blob/master/local.conf.opencv.patch

// 修改OpenCV recipte添加FFMPEG/lib**和mul     ti   core(TBB)支持,不过请注意lib**是商业授权,这里只作为测试使用,不能直接用于商业发布。

https://github.com/simonqin09/opencv_patch/blob/master/opencv_2.4.bb.patch

//修改OpenCV bitbake recipt添加gstreamer支持

https://github.com/simonqin09/opencv_patch/blob/master/opencv_2.4.bbappend.patch

// bitbake image

Toradex-ubuntu$ bitbake angst     rom   -lxde-image

//bitbake toolch     ai   n

Toradex-ubuntu$ bitbake -c populate_sdk angstrom-lxde-image

------------------------------

d). 在开发主机安装上面生成的toolchain,可以放到任意位置,本文为了后续操作方便,将安装好的SDK目录下的”sysroots”目录链接到”/home/username/sysroots”下面。

------------------------------

Toradex-ubuntu$ ./angstrom-glibc-x86_64-armv7at2hf-vfp-neon-v2015.12-toolchain.sh

Toradex-ubuntu$ ln –s SDK folder/sysroots /home/username/sysroots

------------------------------

3). OpenCV Demo演示

a). 本文使用的演示程序是修改于openCV 文档中的基于Haar Cascades 级联分类器的人脸识别demo,源代码如下

------------------------------

https://github.com/simonqin09/opencv/blob/master/facedetect.cpp

// 源代码中需要对应修改“haarcascade_frontalface_alt2.xml”文件在Colibri iMX6的放置路径,这里使用的是”/home/root”

// 源代码中需要对应修改USB 摄像头对应的设备名字,本文是”/dev/video0”, 在你的环境可以通过”v     4l   2-ctl –list-devices”命令来确定

------------------------------

b). 对应的Makefile如下,如果你的toolchain安装在不同目录,要对应修改sysroots目录路径

https://github.com/simonqin09/opencv/blob/master/Makefile

c). 将编译好的可执行文件以及下面地址的“haarcascade_frontalface_alt2.xml”文件都复制到Colibri iMX6DL同一目录下面,文本使用目录”/home/root”

d). 执行程序,当有人脸正面出现在摄像头内就会显示识别出的人脸数目

----------------------------

root@colibri-imx6# ./facedetect

----------------------------

 学会在嵌入式Linux下使用OpenCV_设计制作_EDA/IC设计

4). 总结

本文基于     NXP   iMX6嵌入式平台测试了OpenCV的基本部署和运行,另外虽然OpenCV用     C++   编写,也支持很多其他语言的接口甚至使用CUDA的     GPU   接口。



52
192
0
34

相关资讯

  1. 1、Intel揭秘独立显卡:与N/A最大区别是它!3916
  2. 2、亚太零售商大会:AI释放积极信号,为新零售持续赋能866
  3. 3、抓创新聚人才优环境推动集成电路产业健康发展3148
  4. 4、基于微孔光学反射隔膜的光纤F-P多功能传感器436
  5. 5、中电科第五十四所与海南电信开启全面战略合作4218
  6. 6、行走智能音箱江湖,小米阿里激流勇进!3265
  7. 7、紫光国产SSDP1001TB面市售卖,全面支持NVMe1.3协议749
  8. 8、Ecobee发布新型智能恒温器,支持5GHzWi-Fi网络2765
  9. 9、滴滴顺风车限制女性夜间乘车是安全考量“用力过猛”3859
  10. 10、按照光波性质参数、强度调制又可以分为五类光纤传感器4661
全部评论(0)
我也有话说
0
收藏
点赞
顶部