- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4让树莓派能看见.PDF
HOUR
让树莓派能看见
4
我们已经能够通过声音与机器人进行交流了。本章中,将要使用摄像头为树
莓派增加视觉能力,在很多场合可以使用这种功能。幸运的是,所需的硬件和软
件都是很容易获取的,并且价格也很便宜。
需要增加USB接口的摄像头,因为树莓派上提供了标准的USB接口。互联
网上还有很多相关的开源库,提供了丰富的功能,我们可以直接使用,这样就不
需要花费很长时间进行软件开发。
视觉可以为项目拓展很多的可能性。从简单的运动检测,到多种高级功能,
如面部识别、物体识别,甚至是物体追踪。机器人可以利用视觉能力检测环境,
避开障碍。
本章中,将要完成以下任务:
● 将USB摄像头连接到树莓派并查看图像。
● 连接树莓派摄像头扩展板并查看图像。
● 下载并安装OpenCV(一种全功能视觉库)。
● 使用OpenCV来检测彩色物体。
为了完成本任务,需要添加 USB接口的摄像头。即使你手头上有老款摄像
头,也一定要使用最新款的产品,否则可能会导致一些问题,比如Linux可能没有
驱动支持,节省有时会带来很多的烦恼。最好使用来自罗技和CreativeLab的摄
像头。
如果使用树莓派B+型开发板,可以直接连接摄像头。但是,如果使用A+型
开发板,就必须使用自供电的USBhub连接摄像头。
HOUR4·让树莓派能看见 65
连接USB摄像头并查看图像
开启计算机视觉的第一步是将 USB摄像头连接到USB口。这里使用一款罗
技HD720P摄像头。为了访问USB摄像头,使用guvcview软件。安装该软件的命
令是:sudoaptgetinstallguvcview。
连接USB摄像头,并确保网线连接好。然后加电,系统启动后,可以检查
树莓派是否找到了USB摄像头。进入到/dev目录,输入ls命令,可以看到以下
的输出:
查找对应于摄像头的video0设备。如果发现该文件,说明系统已经找到了摄
像头。
现在使用guvcview来查看摄像头的输出。因为需要输出图像,所以需要在开发
板上连接显示器、键盘和鼠标,或者使用vncserver,参见第1章中的描述。如果打
算使用 vncserver,通过 SSH终端在树莓派上执行 vncserver。然后,启动 VNC
Viewer,可参考第1章中的描述。打开一个终端窗口,执行guvcview:sudoguvcview。
软件执行后如下图所示:
66 RaspberryPi机器人开发指南
视频窗口显示了摄像头捕获到的图像,GUVCViewerControls窗口可以控制摄
像头的不同特性。罗技720HD摄像头默认的设置就可以很好地工作。如果看到
黑屏,就需要调整设置。切换到GUVCViewerControls窗口,选中Video&Files标
签,可以看到摄像头设置窗口。
最重要的设置是分辨率。如果看到的是黑屏,将分辨率调低,通常就可以解
决问题。设置窗口同时还提示摄像头所支持的分辨率。同样,在FrameRate设置
项,可以了解摄像头支持的帧率。不过要注意,通过vncviewer进行远程操作,与
直接连接显示器相比,刷新率会慢很多。
一旦摄像头正常工作,并且工作在希望的分辨率,就可以开始下载并安装
OpenCV了。
可以在系统上连接多个摄像头。按照同样的步骤,不过需要将这些摄
像头连接到USBhub上。在/dev目录下列出所有设备,使用guvcview查看
不同的图像。不过,连接多个摄像头面临的问题是,过多的摄像头会占用
USB接口的全部带宽。
HOUR4·让树莓派能看见 67
连接摄像头扩展板并查看图像
还有一种视频输入的方法,使用专门为树莓派设计的摄像头扩展板,如下图
所示:
68 RaspberryPi机器人开发指南
这种摄像头扩展板有专用的外壳,可以提供对摄像头的保护,也便于安装。
下图是安装了外壳的摄
文档评论(0)