树莓派教程 - 2.1 树莓派USB摄像头 树莓派罗技免驱摄像头 fswebcam常用参数

树莓派外接摄像头,最常用的有两种:CSI摄像头、USB摄像头。当然网络摄像头也是可以的。

一般的USB摄像头都是UVC免驱的,而且可以方便的插拔和安装,平时最为常用。

 

一、硬件设备

usb摄像头使用的 罗技c310。(只要是UVC免驱就可以)

 

二、连接并测试摄像头

(1)使用命令检测usb设备:lsusb

插入usb摄像头后,会显示设备ID和信息,像我的:Bus 001 Device 008: ID 046d:081b Logitech, Inc. Webcam C310

(2)之后使用命令,查看设备文件名称。

ls -l /dev/video*

usb摄像头插入后增加了 video0 和video1 这两个设备,我测试操作这两个都可以用,都是同一个设备。至于为什么跟别人不一样是两个,不得而知。

之后安装摄像头软件:fswebcam

sudo apt-get install fswebcam

安装完成后,使用指令抓拍一张照片。

fswebcam /dev/video0 --no-banner -r 640x480 ~/image01.jpg

 

三、常用参数

fswebcam /dev/video0 --no-banner -r 640x480 ~/image01.jpg 中的参数功能:

/dev/video0:指定操作设备,像我插入usb摄像头后增加了两个设备,实测 video0 和video1 都可以用,都是同一个摄像头。

--no-banner:图片上隐藏横幅。

-r 640x480:设置分辨率 640x480。

~/image01.jpg:存储路径,当前用户目录下,保存为 image01.jpg。

 

fswebcam /dev/video0 -r 640x480 ~/image01.jpg

在图片上有横幅,上面有时间戳信息。

 

四、fswebcam详细参数

--help显示此帮助页面并退出。
 -c,--config <文件名>从文件加载配置。
 -q,--quiet隐藏除错误以外的所有消息。
 -v,--verbose在捕获时显示其他消息
     --version显示版本并退出。
 -l,--loop <seconds>在循环模式下运行。
 -b,--background在后台运行。
 -o,--output <文件名>将日志输出到文件。
 -d,--device <名称>设置要使用的源。
 -i,--input <数字/名称>选择要使用的输入。
 -t,--tuner <number>选择要使用的调谐器。
 -f,--frequency <number>选择使用的频率。
 -p,--palette <名称>选择要使用的调色板格式。
 -D,--delay <数字>设置预捕获延迟时间。 (秒)
 -r,--resolution <size>设置捕获分辨率。
     --fps <framerate>设置捕获帧速率。
 -F,--frames <number>设置要捕获的帧数。
 -S,--skip <number>设置要跳过的帧数。
     --dumpframe <文件名>将原始帧转储到文件。
 -s,--set <名称> = <值>设置控制值。
     --revert恢复原始捕获的图像。
     --flip <direction>翻转图像。 (h,v)
     --crop <大小> [,<偏移量>]裁剪图像的一部分。
     --scale <size>缩放图像。
     --rotate <角度>以直角旋转图像。
     --deinterlace减少交错伪像。
     --invert反转图像颜色。
     --greyscale删除图像的颜色。
     --swapchannels <c1c2>交换通道c1和c2。
     --no-banner隐藏横幅。
     --top-banner将横幅放在顶部。
     --bottom-banner将横幅放在底部。 (默认)
     --banner-colour <colour>设置横幅颜色。 (#AARRGGBB)
     --line-colour <colour>设置横幅线的颜色。
     --text-colour <colour>设置文本颜色。
     --font <[名称] [:大小]>设置字体和/或大小。
     --no-shadow禁用文本阴影。
     --shadow启用文本阴影。
     --title <文本>设置主标题。 (左上方)
     --no-title清除主标题。
     --subtitle <文本>设置字幕。 (左下方)
     --no-subtitle清除字幕。
     --timestamp <格式>设置时间戳格式。 (右上)
     --no-timestamp清除时间戳记。
     --gmt使用GMT代替本地时区。
     --info <文本>设置信息文本。 (右下)
     --no-info清除信息文本。
     --underlay <PNG图像>设置参考图像。
     --no-underlay清除参考底图。
     --overlay <PNG图像>设置覆盖图像。
     --no-overlay清除覆盖。
     --jpeg <factor>输出JPEG图像。 (-1,0-95)
     --png <factor>输出PNG图像。 (-1,0-10)
     --save <文件名>将图像保存到文件。
     --exec <命令>执行命令并等待其完成。

 

 

### 如何将USB摄像头连接到树莓派并进行配置 #### 插入USB摄像头USB摄像头插入树莓派USB端口。确保摄像头支持即插即用功能,大多数常见的USB摄像头(如罗技C310)无需额外动即可正常工作[^4]。 #### 查看已连接的USB设备 使用`lsusb`命令来确认摄像头已被识别。可以通过对比插入前后`lsusb`的结果找到对应的设备信息。例如,在插入摄像头后运行以下命令: ```bash lsusb ``` 如果一切正常,终端会返回类似于以下的信息: ``` Bus 001 Device 008: ID 046d:081b Logitech, Inc. Webcam C310 ``` 这表明摄像头被成功检测到,并且其厂商ID和产品ID分别为`046d`和`081b`。 #### 安装必要的软件包 为了能够捕获图像或视频流,建议安装一些常用的工具,比如`fswebcam`用于拍照或者`motion`用于监控录像。以下是安装这些工具的方法: - **安装fswebcam** ```bash sudo apt update sudo apt install fswebcam ``` - **测试fswebcam** 运行下面的命令拍摄一张照片保存至指定路径下: ```bash fswebcam image.jpg ``` 默认情况下,图片会被存储在当前目录下的`image.jpg`文件中。 #### 使用OpenCV访问USB摄像头 如果你计划开发更复杂的计算机视觉应用,则可能需要用到Python库OpenCV。需要注意的是,在某些版本的树莓派操作系统上,CSI接口暂不兼容OpenCV,因此推荐优先考虑USB摄像头作为替代方案[^2]。 ##### OpenCV安装指南 首先更新pip以获取最新版本的支持模块: ```bash sudo pip3 install --upgrade pip ``` 接着安装OpenCV-Python绑定程序: ```bash pip3 install opencv-python ``` ##### 编写简单的脚本读取帧数据 创建一个新的Python脚本来验证是否可以从USB摄像头上抓取实时画面: ```python import cv2 cap = cv2.VideoCapture(0) if not cap.isOpened(): print("Cannot open camera") else: while True: ret, frame = cap.read() if not ret: break cv2.imshow('frame', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() ``` 上述代码片段展示了如何初始化VideoCapture对象以及循环播放来自第一个可用摄像头的每一帧内容直到按下键'q'为止。 #### 获取树莓派IP地址以便远程控制 有时我们希望远离物理屏幕操作树莓派,这时就需要知道它的网络位置。执行如下指令可获得局域网内的IPv4地址: ```bash ifconfig | grep inet ``` 记录下类似形式的一串数字字符串(排除localhost条目),之后便能借助SSH客户端或者其他图形界面应用程序实现远距离操控了[^3]。 ---
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值