摄像头
关于摄像头模块
树莓派官方推出了多款摄像头 模块。
-
摄像头模块1:一款500万像素摄像头,提供标准版(可见光)和NoIR版(可见光+红外)两种型号,具备标准视场角(FoV)。该设备已停止在树莓派官网销售。
-
摄像头模块2:800万像素摄像头,提供标准版和NoIR版,均采用标准视场角。
-
摄像头模块3:1200万像素摄像头,提供标准版和NoIR版。标准版与NoIR版均提供标准视场角和广角视场角版本,共计四种型号。 摄像头模块 3 的传感器组件也可单独购买,以便您将这些功能集成到更小的设备中。
-
高品质摄像头:1200万像素摄像头,配备CS接口或M12接口版本以适配外接镜头。此型号不提供NoIR版本。
-
AI摄像头:1200万像素摄像头,为各类摄像头应用提供低延迟高性能AI功能。通过与树莓派摄像头软件堆栈深度集成,用户可轻松部署自定义神经网络模型。此型号不提供无红外版本。
-
全局快门摄像头:采用全局快门机制的150万像素摄像头。可同时捕捉场景中每个像素的光线,特别适合高速摄影。配备CS卡口接口,可搭配外接镜头使用。此型号不提供无红外版本。
欲比较各摄像头硬件特性,请参阅硬件规格。
树莓派摄像头模块兼容所有配备CSI接口的树莓派计算机。
有关摄像头软件的信息,请参阅摄像头软件文档。
安装树莓派摄像头
树莓派摄像头的安装流程在所有摄像头与主板组合中基本一致。连接器存在些许差异,具体区别将在后续步骤中说明。
步骤1:准备工作
摄像头易受静电影响。操作PCB前请进行接地处理。若无接地带,可触碰水龙头等金属物体实现接地。
完成本操作需准备以下物品:
-
带摄像头接口的树莓派主板
-
树莓派摄像头
部分摄像头镜头可能覆盖有蓝色半透明塑料薄膜,此为运输保护措施,请轻柔撕除。
-
适配摄像头与主板的连接线
- 所有树莓派摄像头均采用标准15针接口。
- 树莓派4及以下旗舰型号采用标准15针接口。此类主板请使用摄像头附带的标准-标准摄像头线缆。
- 树莓派5、所有树莓派Zero型号及计算模块I/O板采用迷你22针接口。此类主板需使用标准-迷你摄像头线缆。
- 部分计算模块开发套件附带计算模块摄像头显示适配器(CMCDA)板,可将IO板上的迷你22针接口转换为标准15针接口。
步骤2:将线缆连接至树莓派
若计划在树莓派5上使用主动散热器,请在安装散热器前将线缆连接至设备摄像头接口。安装散热器后,摄像头接口可能难以触及。
-
关闭树莓派并断开电源。
-
定位树莓派主板上的摄像头接口。
以下说明基于您手持树莓派主板时芯片和接口朝上、树莓派标识与主板名称方向正确的情况。对于顶部无标识的树莓派Zero主板,请将GPIO接口沿远离您的边缘方向放置。
-
在树莓派Zero设备上,摄像头接口位于右侧短边,与SD卡槽相对。
-
在树莓派4之前的旗舰型号上,摄像头接口位于离您最近的边缘,介于HDMI接口和音频插孔之间,标有CAMERA字样。
-
在树莓派4上,摄像头接口位于离您最近的边缘,介于微型HDMI接口与音频插孔之间,标注为CAMERA。
-
在树莓派5上,两个摄像头和显示接口位于离您最近的边缘,介于微型HDMI接口与以太网端口之间,分别标注为CAM/DISP0和CAM/DISP1。您可任选其中一个接口连接摄像头。
-
在树莓派计算模块1/3/3+的IO板上,两个摄像头接口位于左侧边缘(即IO板上最靠近logo的边缘)靠近您的末端。它们标注为CAM0和CAM1。您可任选其中一个接口连接摄像头。
-
在树莓派计算模块4的IO板上,两个摄像头接口位于最左侧角落。标记为CAM0和CAM1。您可任选其中一个接口连接摄像头。
-
在树莓派 计算模块5的I/O板上,两个摄像头接口位于最远边缘的左端。标记为CAM/DISP0和CAM/DISP1。您可任选其中一个接口连接摄像头。
-
-
打开接口盖板。
a. 若有薄膜条固定盖板,请将其移除。
b. 轻柔地将盖板从接口处向外拉出,直至触及阻力点。此时盖板可自由活动。
c. 将盖板轻微倾斜远离接口开口。
-
将摄像头线缆金属触点端朝向远离盖板的方向插入接口。
确保摄像头线缆完全插入连接器且保持笔直,使所有触点正确对齐。注意避免线缆弯折角度过大。
-
将盖板向线缆方向倾斜,按压至连接器直至听到咔嗒声锁定到位。
挡板可固定线缆位置,确保连接器针脚与线缆金属触点紧密接触。
拆卸线缆时请按上述步骤逆向操作。
步骤3:将电缆连接至摄像头
我们的摄像头已预装标准-标准电缆。若您已拆下该电缆或需更换其他电缆,请完成以下步骤。
摄像头连接器位于电路板与镜头相对的一侧。请将摄像头镜头朝下或背离您握持。
-
打开连接器上的盖板。
a. 轻柔地将挡板从接口处向外拉出,直至触及阻力点。此时挡板可自由活动。
b. 将挡板轻微向接口开口外侧倾斜。
-
将摄像头线缆端口(金属触点朝向摄像头主板方向)插入接口。
确保线缆端口完全插入接口且保持垂直,使所有触点正确对齐。注意避免柔性线缆产生锐角弯折。
-
将挡板向线缆方向倾斜并按压至连接器,直至听到咔嗒声确认到位。
挡板可固定线缆位置,确保连接器针脚与线缆金属触点紧密接触。
拆卸线缆时请按相反步骤操作。
步骤4:准备软件
-
重新连接树莓派电源并启动设备。
-
参照系统更新指南确保内核及应用程序均已更新至最新版本。.
-
执行
rpicam-apps的安装说明。 -
(可选)若需使用Picamera2 Python库,请参照Picamera2 Python库的安装指南。
摄像头模块2
这款 800 万像素摄像头采用索尼 IMX219 传感器,分辨率为 3280 × 2464 像素。具备可调焦功能,最长曝光时间可达 11.76 秒。
摄像头模块2提供以下版本:
有关本摄像头的详细硬件特性与功能说明,请参阅硬件规格。
摄像头模块3
这款 1200万像素摄像头 采用索尼IMX708传感器,分辨率为4608 × 2592像素。具备电动自动对焦功能,最长可支持112秒曝光时间。
摄像头模块3提供以下版本:
- 标准版,常规视场角(FoV)
- 标准版,广角视场角
- NoIR版,常规视场角
- NoIR版,广角视场
标准型号仅捕捉可见光,红外光被滤除。NoIR型号未配备红外滤光片,可同时捕捉可见光与红外光。配合红外照明使用NoIR摄像头可在黑暗中成像,或搭配随附的蓝色滤光片监测绿色植物健康状况。
所有这些版本也适用于独立的摄像头模块3传感器组件。
摄像头模块3(左)与摄像头模块3广角版(右)
摄像头模块3无红外版(左)与摄像头模块3无红外广角版(右)
有关该摄像头硬件特性与功能的详细信息,请参阅硬件规格。
传输特性
摄像头模块3中的IMX708传感器具有以下光谱灵敏度特性。
全局快门摄像头
160万像素全局快门摄像头可捕捉快速移动的物体并最大限度减少失真。其核心采用索尼IMX296传感器,分辨率达1456×1088像素。
摄像头配备C/CS卡口,兼容多种镜头。更多信息请参阅镜头。
通过板载外部触发接口脉冲信号即可启动全局快门(GS)摄像头。此功能支持多台全局快门摄像头同步工作。更多信息请参阅 全局快门摄像头的外部触发功能。
全局快门摄像头
有关本摄像头硬件特性与功能的详细信息,请参阅硬件规格。
滚动快门还是全局快门?
大多数数码摄像头(包括我们其他摄像头模块)采用滚动快门:逐行扫描拍摄图像后输出结果。此机制在某些场景下会产生畸变效应。例如拍摄旋转螺旋桨时,图像可能呈现波光粼粼的效果而非物体旋转的动态感。这是因为在摄像头扫描场景的极短时间内,螺旋桨叶片已完成位置变化。
而全局快门(如我们全局快门摄像头模块所采用)则不同。它能同时捕捉场景中每个像素的光线,因此拍摄螺旋桨叶片等物体时不会产生相同畸变。
这种特性非常实用,它使拍摄螺旋桨叶片等高速运动物体变得容易;我们还能同步多台摄像头,在精确同一时刻完成拍摄。其优势包括:在捕捉立体图像时能最大限度减少失真——若左眼看到的物体运动尚未出现在右眼视野中,会导致人脑产生混淆。树莓派全局快门摄像头还支持更短的曝光时间——在光照充足时可达30微秒——远优于滚动快门摄像头,这使其在高速摄影领域具有显著优势。
全局快门摄像头的图像传感器对角线有效成像区域为6.3毫米,尺寸与树莓派HQ摄像头相当。但其像素尺寸更大,能收集更多光线。大像素尺寸与低像素数量在机器视觉应用中尤为珍贵:传感器像素越多,实时图像处理难度越大。为解决此问题,许多应用会缩小图像尺寸并裁剪画面。而全局快门摄像头配合适配镜头放大倍率时,其较低分辨率与大像素尺寸特性可实现原生图像捕捉,无需额外处理。
透射特性
全局快门摄 像头采用Hoya CM500红外滤光片,其透射特性如图所示:
若需增强摄像头对红外光的敏感度,可移除红外滤光片。此操作不可逆且将导致保修失效。更多信息请参阅红外滤光片。
移除滤光片后,树莓派全局快门摄像头的透射特性如下:
高品质摄像头
这款1200万像素高品质摄像头配备M12卡口或C/CS卡口,可兼容多种镜头。更多信息请参阅镜头。该摄像头采用索尼IMX477传感器,分辨率达4056 × 3040像素,最长可记录670.74秒曝光时间。
通过脉冲式外部触发器可启动高品质摄像头,此功能支持多台高品质摄像头同步拍摄。详情参见同步拍摄。
高品质摄像头,M12接口(左)与C/CS接口(右)
有关本摄像头硬件特性与功能的详细信息,请参阅硬件规格。
透射特性
高品质摄像头采用Hoya CM500红外滤光片,其透射特性如图所示:
若需增强摄像头对红外光的敏感度,可移除红外滤光片。此操作不可逆且将导致保修失效。更多信息请参阅[红外滤光片](#红外滤光片)。
移除滤光片后,树莓派高品质摄像头的透射特性如下:
推荐镜头
建议将以下镜头与我们的 HQ 和 GS 摄像头配合使用。
HQ 摄像头有 C/CS 卡口和 M12 卡口两种型号,而 GS 摄像头只有 C/CS 卡口。
C/CS 镜头
我们推荐两 款镜头:由CGL电子有限公司生产的6毫米广角镜头和16毫米远摄镜头。您可通过就近的授权经销商购买这些镜头。
| 16 毫米长焦镜头 | 6 毫米广角镜头 | ||
| 分辨率 | 1000 万像素 | 300 万像素 | |
| 图像格式 | 1" | 1/2" | |
| 光圈 | F1.4 至 F16 | F1.2 | |
| 安装 | C | CS | |
| 视场角 H°×V° (D°) | HQ | 22.2°×16.7° (27.8°) | 55°×45° (71°) |
| GS | 17.8°×13.4° (22.3) | 45°×34° (56°) | |
| 背面焦距 | 17.53 毫米 | 7.53 毫米 | |
| 外径 | 0.2m | 0.2m | |
| 尺寸 | φ39×50毫米 | φ30×34毫米 | |
M12镜头
我们推荐三种由高佳光学制造的镜片。这些镜片可从离您最近的授权经销商处购买。
| 8 毫米 | 25 毫米 | 鱼眼 | |
| 分辨率 | 1200 万像素 | 500 万 像素 | 1500 万像素 |
| 图像格式 | 1/1.7" | 1/2" | 1/2.3" |
| 光圈 | F1.8 | F2.4 | F2.5 |
| 安装 | M12 | ||
| HQ 视场角 H°×V° (D°) | 49°×36° (62°) | 14.4°×10.9° (17.9)° | 140°×102.6° (184.6°) |
同步捕捉
高品质(HQ)摄像头支持同步捕获。 一台摄像头("源摄像头")可配置为在启动帧捕获时在其XVS(垂直同步)引脚上生成一个脉冲。 其他("目标")摄像头可以监听此脉冲,并在源摄像头捕获帧的同时进行捕获。
此方法已被 软件摄像头同步所取代,该方法可在无需额外线缆的情况下实现长距离操作,并具备亚毫秒级精度。但当摄像头物理距离较近时,可使用有线同步。
您也可以在同步模式下操作全局快门(GS)摄像头。但此时源摄像头会额外记录一帧画面。对于GS摄像头,我们建议改用外部触发源。GS摄像头与高品质(HQ)摄像头无法实现同步。
连接摄像头
将导线焊接到每个摄像头的XVS测试点,并将它们连接在一起。
将导线焊接到每个摄像头的GND测试点,并将它们连接在一起。
仅适用于GS摄像头,您必须将每个摄像头的XHS(水平同步)测试点相互连接。对于任何希望作为接收端的GS摄像头,请用焊锡将MAS焊盘的两部分短接。
本文件较早版本曾建议为XVS添加外部上拉电阻。此建议不再适用。请确保使用Raspberry Pi OS最新版本,并为所有连接的摄 像头设置always-on属性。
驱动程序配置
配置摄像头驱动程序,使其在非流媒体传输时保持1.8V电源供电,并可选地选择源设备和接收设备角色。
对于HQ摄像头
编辑 /boot/firmware/config.txt。将 camera_auto_detect=1 改为 camera_auto_detect=0。
对于源摄像头,添加以下行:
dtoverlay=imx477,always-on,sync-source
或对于汇:
dtoverlay=imx477,always-on,sync-sink
在 Raspberry Pi 5、CM4 或 CM5 上使用 CAM0 端口时,在该行末尾添加 ,cam0(不带空格)。如果同一台 Raspberry Pi 上连接了两台摄像头,则需要两行 dtoverlay 配置,其中仅一行以 ,cam0 结尾。
或者,如果您希望在运行时交换摄像头的角色(且它们未连接到同一台 Raspberry Pi),请省略上述 ,sync-source 或 ,sync-sink。相反,您可以在启动每个摄像头前设置模块参数:
对于带有源摄像头的 Raspberry Pi:
echo 1 | sudo tee /sys/module/imx477/parameters/trigger_mode
对于带有目标摄像头的树莓派:
echo 2 | sudo tee /sys/module/imx477/parameters/trigger_mode
每次系统启动时都需要执行此操作。
对于 GS 摄像头
编辑 /boot/firmware/config.txt。将 camera_auto_detect=1 改为 camera_auto_detect=0。
对于源或汇,添加以下行:
dtoverlay=imx296,always-on
在 Raspberry Pi 5、CM4 或 CM5 上使用 CAM0 端口时,在该行末尾添加 ,cam0,且不留空格。如果同一台 Raspberry Pi 上有两台摄像头,则需要两行 dtoverlay,其中仅一行以 ,cam0 结尾。
在 GS 摄像头上,接收端角色通过 MAS 引脚启用,无法通过软件配置("trigger_mode" 和 "sync-sink" 与 外部触发方法 相关,此模式下不得设置)。
Libcamera 配置
如果所有摄像头未能在 1 秒内启动,rpicam应用程序可能会超时。为避免此情况,请编辑任何搭载 sink 摄像头的树莓派上的配置文件。
在 Raspberry Pi 5 或 CM5 上:
cp /usr/share/libcamera/pipeline/rpi/pisp/example.yaml timeout.yaml
在其他 Raspberry Pi 型号上:
cp /usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml timeout.yaml
现在编辑副本。在两种情况下,删除 "camera_timeout_value_ms": 行中的 #(注释),并将数字改为 60000(60 秒)。
启动摄像头
运行以下命令以启动汇:
export LIBCAMERA_RPI_CONFIG_FILE=timeout.yaml
rpicam-vid --frames 300 --qt-preview -o sink.h264
等待几秒钟,然后运行以下命令以启动源:
rpicam-vid --frames 300 --qt-preview -o source.h264
帧应保持同步。使用 --frames 确保捕获的帧数相同,且录制文件的长度完全一致。
先运行 汇 可确保不会丢失任何帧。
在使用 GS 摄像头同步模式时,汇记录的帧数不会与源完全相同。源会在 sink 开始记录前多记录一帧。因此,您需要使用 --frames 选项指定 sink 少记录一帧。
全局快门摄像头的外部触发器
全局快门(GS)摄像头可通过外部脉冲触发板载外部触发接口(板载标记为XTR)实现外部触发。多个摄像头可连接至同一脉冲信号,从而提供同步两台摄像头的替代方案。