python调用fswbcam使用USB摄像头实现抓拍

前言:

本人在树莓派3B+上做图像识别的功能,由于手头仅有USB摄像头,便决定使用fswebcam进行抓拍,测试的环境是Ubuntu Desktop 18.04和某杂牌USB摄像头

1.安装fswebcam:

1
sudo apt-get install fswebcam

2.查看信息:

查看设备信息:

1
ls /dev

查看摄像头相关信息:

1
lsusb

3.拍照测试:

1
fswebcam -d /dev/video0 --no-banner -r 720x480 -S 10 ~/image.jpg

-d表示调用的设备,-no-banner不加会字体报错,-r是图片分辨率信息,-S表示延时拍照,参数10的实际延时远小于10s

在实际测试中发现,如果延时参数小于10,拍出的图片总是模糊或全是白色,拍照效果极差,原因未知,或许是使用的USB摄像头的问题,这一点以后有空会再测试补充的

在Terminal中执行完毕此命令,将在~/文件夹下生成一个图像文件image.jpg

4.python调用fswebcam

新建并编写代码:

1
vim camera.py

文件内容:

1
2
3
4
import os
import sys
import re
os.system("fswebcam --no-banner -r 1080x720 -S 10 image.jpg")

执行文件:

1
python camera.py

命令执行完毕,将在当前目录生成image.jpg文件