[分享] 【树莓派3B+测评】使用USB摄像头

DDZZ669   2018-9-22 20:17 楼主
上个帖子【树莓派3B+测评】点亮LED介绍了如何用python控制树莓派的GPIO口点亮LED,这次介绍如何用python+opencv来使用USB摄像头。 首先介绍另一种可视化登录的安装方式, 因为之前介绍的xrdp+tightvncserver软件包貌似不支持opencv的远程窗口显示。 安装方式如下:
  1. sudo apt-get install x11vnc #安装x11vnc
  2. x11vnc -storepasswd #设置可视化远程登录密码
  3. x11vnc -usepw #开启
1.png 然后就可以用TightVNC进行可视化登录了,输入树莓派的本地IP地址,我的是192.168.1.101: 2.png 接着输入刚刚设置的密码就可以登录到可视化界面了 (注意每次使用TightVNC之前需要先用PuTTY登录,输入x11vnc -usepw命令开启可视化远程功能)。 接下来先通过树莓派系统自身的功能来使用USB摄像头。 将一个USB摄像头插入树莓派的USB口,然后在终端(PuTTY或可视化窗口内打开终端)中输入以下命令:
  1. lsusb #查看USB接口上的设置
  2. ls /dev/video* #查看USB摄像头的设备名称
  3. sudo apt-get install fswebcam #安装一个USB摄像头的软件包
  4. sudo fswebcam /dev/video0 ~/Desktop/test/img1.jpg #拍摄一张照片并保存的桌面的test文件夹中
3.png 打开test文件夹,可以看到刚刚拍摄的照片。 4.jpg 下面安装另一个软件包,来实时显示USB摄像头捕获的图像,输入以下命令:
  1. sudo apt-get install luvcview #安装另一个USB摄像头的软件包
  2. luvcview -s 800x600 #获取图像并显示,800x600为窗口大小
5.png 出现一个错误信息,原因是在PuTTY中无法打开一个窗口进行显示, 我们可以在可视化窗口的终端中执行次条命令,如下图: 6.png 可以看到实时显示的窗口。 最后介绍用python+opencv来读取USB摄像头并显示。 首先还是先安装需要的软件包:
  1. sudo apt-get install libopencv-dev
  2. sudo apt-get install python-opencv
然后在桌面test文件夹新建opencv-camera.py文件,输入以下程序:
  1. import cv2
  2. cap = cv2.VideoCapture(0)
  3. while(1):
  4. ret,frame = cap.read()
  5. cv2.imshow('usb camera', frame)
  6. if(cv2.waitKey(10) == 27): #Esc -> quit
  7. break
  8. cap.release()
  9. cv2.destroyAllWindows()
然后就可以用python2来执行程序了,终端中进到test文件夹中,输入以下命令:
  1. python2 opencv-camera.py
就可以看到通过opencv显示的USB的摄像头的画面了,esc键可结束程序。 借助opencv,我们还可以对图像中的物体进行实时识别,这些以后会继续介绍。 7.png 本帖最后由 DDZZ669 于 2018-9-22 20:23 编辑

回复评论 (4)

我的摄像头比较便宜所以拍出来的图片比较辣鸡。。。你这个是多少钱买的?
点赞  2018-12-25 10:16
引用: donatello1996 发表于 2018-12-25 10:16
我的摄像头比较便宜所以拍出来的图片比较辣鸡。。。你这个是多少钱买的?

这是我们实验室的一个USB摄像头,不清楚价格
点赞  2018-12-25 16:21
引用: donatello1996 发表于 2018-12-25 10:16
我的摄像头比较便宜所以拍出来的图片比较辣鸡。。。你这个是多少钱买的?



就是这个: QQ图片20181225162420.jpg

点赞  2018-12-25 16:25

谢谢楼主分享

点赞  2021-5-24 10:45
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复