Fork me on GitHub

【智能无线小车系列八】在树莓派上使用USB摄像头

材料准备:

1、树莓派

2、AS 4WD小车

3、WebCam

4、小米移动电源

5、TP—LINK 高增益150MUSB无线网卡

 

操作流程:

1.将WebCam插上树莓派后,首先要确认树莓派是否支持该设备。输入:

pi@raspberrypi ~$ lsusb

   在返回的信息中,我们可以看到“Logitech, Inc.WebCam C270”的信息,说明该视频摄像头摄像头已经被树莓派操作系统成功识别。一般来说,只要在官方兼容列表中的设备,都能够被树莓派成功识别。此外,我们在返回的消息中,还可以看到键鼠、无线网卡的相关信息。

2、测试实时视频

  luvcvew可以用来查看WebCam的视频信息,它包含了一个mjpeg的编码器,能够将视频流保存为AVI格式的文件。mjpeg的压缩效率并不高,且对带宽拥有较高要求,因而从今天来看,它并非一款理想的视频压缩技术。

安装luvcvew:

pi@raspberrypi ~$ sudo apt-get install luvcview

  输入下面的指令,让系统帮助我们找到luvcview在哪里。正常情况下,系统应该返回“/usr/bin/luvcview”,如果系统没有返回,再重新检查一下该插件是否已经安装妥当。

pi@raspberrypi ~$ which luvcview  

  luvcview需要工作在桌面环境中,即Raspbian的LXDE中。luvcview默认采用640像素*480像素的分辨率进行视频采集,在实际应用中,我们发现如果采用这一分辨率,树莓派内存吃紧,卡顿的情况比较严重,因此我们需要降低WebCam采集的分辨率为320像素*240像素,在LXDE(LXTerminal)中:

pi@raspberrypi ~$ luvcview -s 320x240

  执行完成之后,桌面上会弹出一个窗口,用来播放WebCam的视频信号。此时,我们再来观察一下桌面右上角CPU的使用情况,发现几乎已经全部被占用了,当然这也已经是在320像素*240像素分辨率的设置下,如果再调高分辨率,估计系统会返佣更慢。

3、测试拍照

  在桌面环境下,本身就要耗费许多资源,实际上,Linux下许多图形、图像还是可以跑在Shell下的,下面我们就演示在Shell中调用摄像头进行拍照。需要使用另一个小工具——uvccapture。

安装uvccapture:

pi@raspberrypi ~$ sudo apt-get install uvccapture

开始拍照:

像素标准1:960*720

pi@raspberrypi ~$ uvccapture -B120 -C40 -S30 -x960 -y720 -ocamera.jpg

  uvccapture携带的参数较多,其中,“-x,-y”为图像分辨率,“-B”为亮度(Brightness),"-C"为对比度(Contrast),“-S”为饱和度(Saturation),"-o"输出图像文件路径,"camera.jpg"为保存的照片文件名,默认保存在"/home/pi"目录下。

  当水平图像分辨率(x)超过960像素时,当垂直图像分辨率(y)超过720像素时,还需要使用YUYV方式进行拍照,此时相比于上述方式,除了需要修改像素参数意外,还要额外增加一个参数“-m”。

像素标准2:1280*720

pi@raspberrypi ~$ uvccapture -B120 -C40 -S30 -x1280 -y720 -m -ocamera.jpg

 测试效果:

posted @ 2015-03-15 21:00  GeekerLou  阅读(9399)  评论(3编辑  收藏  举报