安泰电子世界网 首页 Ardunio 相机软件(三)

相机软件(三)

2024-11-5 17:34 | 发布者: txc | 查看: 27 | 评论: 0

简介:相机软件

list-cameras

列出连接到 Raspberry Pi 的检测到的摄像头及其可用的传感器模式。不接受值。
传感器模式标识符具有以下形式:S<Bayer order><Bit-depth>_<可选包装> : <分辨率列表>
裁剪在原生传感器像素中(即使在像素合并模式下)指定为 (<x>, <y>)/<Width><Height>×。(x, y) 指定大小宽度×高度的裁剪窗口在传感器阵列中的位置。
例如,以下输出显示有关索引为 0 的 IMX219 传感器和索引为 1 的 IMX477 传感器的信息:

Available cameras
-----------------
0 : imx219 [3280x2464] (/base/soc/i2c0mux/i2c@1/imx219@10)
    Modes: 'SRGGB10_CSI2P' : 640x480 [206.65 fps - (1000, 752)/1280x960 crop]
                             1640x1232 [41.85 fps - (0, 0)/3280x2464 crop]
                             1920x1080 [47.57 fps - (680, 692)/1920x1080 crop]
                             3280x2464 [21.19 fps - (0, 0)/3280x2464 crop]
           'SRGGB8' : 640x480 [206.65 fps - (1000, 752)/1280x960 crop]
                      1640x1232 [41.85 fps - (0, 0)/3280x2464 crop]
                      1920x1080 [47.57 fps - (680, 692)/1920x1080 crop]
                      3280x2464 [21.19 fps - (0, 0)/3280x2464 crop]
1 : imx477 [4056x3040] (/base/soc/i2c0mux/i2c@1/imx477@1a)
    Modes: 'SRGGB10_CSI2P' : 1332x990 [120.05 fps - (696, 528)/2664x1980 crop]
           'SRGGB12_CSI2P' : 2028x1080 [50.03 fps - (0, 440)/4056x2160 crop]
                             2028x1520 [40.01 fps - (0, 0)/4056x3040 crop]
                             4056x3040 [10.00 fps - (0, 0)/4056x3040 crop]

对于上例中的 IMX219 传感器:

  • 所有模式都有RGGB Bayer订购

  • 所有模式均以列出的分辨率提供 8 位或 10 位 CSI2 封装读数

camera

选择要使用的相机。从可用摄像机列表中指定索引。

config

别名:-c
指定包含 CLI 选项和值的文件。考虑一个名为 example_configuration.txt 的文件,其中包含以下文本,将选项和值指定为键值对,每行一个选项,仅长(非别名)选项名称:

timeout=99000
verbose=

提示:省略前导 -- 通常在命令行上传递的行。对于缺少值的标志(如上例中的 verbose),必须包含尾随 =。
然后,您可以运行以下命令来指定 99000 毫秒的超时和详细输出:

rpicam-hello --config example_configuration.txt

timeout

别名:-t
默认值:5000 毫秒(5 秒)
指定应用程序在关闭之前运行的时间。这适用于视频录制和预览窗口。捕获静止图像时,应用程序会在捕获输出图像之前显示超时毫秒的预览窗口。

preview

别名:-p
设置桌面或 DRM 预览窗口的位置(x,y 坐标)和大小(w,h 尺寸)。不会影响从相机请求的图像的分辨率或纵横比。缩放图像大小和柱状或信箱图像纵横比以适应预览窗口。
以以下逗号分隔形式传递预览窗口尺寸:x、y、w、h
示例:rpicam-hello --preview 100,100,500,500
信箱预览图像

fullscreen

别名:-f
强制预览窗口使用不带边框或标题栏的整个屏幕。缩放图像大小和柱状或信箱图像纵横比,以适应整个屏幕。不接受值。

qt-preview

使用 Qt 预览窗口,该窗口比替代方案消耗更多资源,但支持 X 窗口转发。与全屏标志不兼容。不接受值。

nopreview

别名:-n
导致应用程序根本不显示预览窗口。不接受值。

info-text

默认值:"#%frame (%fps fps) exp %exp ag %ag dg %dg"
在桌面环境中运行时,将提供的字符串设置为预览窗口的标题。支持以下图像元数据替换:

命令替代
%frame帧的序列号。
%fps瞬时帧速率。
%exp用于捕捉图像的快门速度,以微秒为单位。
%ag模拟增益应用于传感器中的图像。
%dgISP对图像施加的数字增益。
%rg应用于每个像素的红色分量的增益。
%bg增益应用于每个像素的蓝色分量。
%focus图像的焦点指标,其中值越大意味着图像越清晰。
%lp当前镜头位置(以屈光度为单位)(1 / 距离,以米为单位)。
%afstate自动对焦算法状态 (idle, scanning, focused或failed)。

width和height

每个都接受一个数字,用于定义捕获图像的尺寸(以像素为单位)。
对于 rpicam-still、rpicam-jpeg 和 rpicam-vid,指定输出分辨率。
对于 rpicam-raw,指定原始帧分辨率。对于具有 2×2 合并读出模式的相机,指定等于或小于合并模式的分辨率可捕获 2×2 个合并的原始帧。
对于 rpicam-hello,没有效果。
例子:

  • rpicam-vid -o test.h264 --width 1920 --height 1080 捕获 1080p 视频。

  • rpicam-still -r -o test.jpg --width 2028 --height 1520 捕获 2028×1520 分辨率的 JPEG。如果与 HQ 相机一起使用,则使用 2×2 像素合并模式,因此原始文件 (test.dng) 包含 2028×1520 原始拜耳图像

viewfinder-width和viewfinder-height

每个都接受一个数字,用于定义预览窗口中显示的图像的尺寸(以像素为单位)。不会影响预览窗口的尺寸,因为图像会调整大小以适合。不影响拍摄的静止图像或视频。

rawfull

强制传感器以全分辨率模式捕获图像,而不考虑请求的输出分辨率。由于分辨率越高,资源就越多,因此可能会对帧速率产生负面影响。与 HQ 摄像机一起使用时,每帧最多可占用 18MB 的空间(相比之下,在 2×2 合并模式下为 5MB)。不接受值。
对于 rpicam-hello,没有效果。

mode

允许您以以下冒号分隔格式指定相机模式:<width><height>:<bit-depth>::<packing>。如果提供的值不完全匹配,系统会为传感器选择最接近的可用选项。您可以使用包装 (P) 或未包装 (U) 包装格式。影响存储的视频和静止图像的格式,但不影响传递到预览窗口的帧的格式。
位深度和封装是可选的。位深度默认为 12。包装默认为 P(包装)。
有关可用于传感器的位深度、分辨率和打包选项的信息,请参阅列表相机
例子:

  • 4056:3040:12:P- 4056×3040 分辨率,每像素 12 位,打包。

  • 1632:1224:10- 1632×1224 分辨率,每像素 10 位。

  • 2592:1944:10:U- 2592×1944 分辨率,每像素 10 位,未包装。

  • 3264:2448- 3264×2448 分辨率。

打包格式详细信息

打包格式对像素数据使用的存储空间较少。
在 Raspberry Pi 4 及更早版本的设备上,打包格式使用 MIPI CSI-2 标准打包像素。这意味着:

  • 10 位相机模式将 4 像素打包成 5 个字节。前 4 个字节包含每个像素的 8 个最高有效位 (MSB),最后一个字节包含 4 对最低有效位 (LSB)。

  • 12 位相机模式将 2 个像素打包成 3 个字节。前 2 个字节包含每个像素的 8 个最高有效位 (MSB),最后一个字节包含两个像素的 4 个最低有效位 (LSB)。

在 Raspberry Pi 5 及更高版本的设备上,打包格式使用视觉无损压缩方案将像素值压缩为每像素 8 位(1 字节)。

解压缩的格式详细信息

解压缩格式提供的像素值更易于手动操作,但代价是像素数据使用更多存储空间。
在所有设备上,解压缩格式每像素使用 2 个字节。
在 Raspberry Pi 4 及更早版本的设备上,应用程序在最重要的一端应用零填充。在解压缩格式中,来自 10 位相机模式的像素不能超过值 1023。
在 Raspberry Pi 5 及更高版本的设备上,应用程序在最低有效一端应用零填充,因此图像使用传感器提供的像素深度的完整 16 位动态范围。

viewfinder-mode

与模式选项相同,但它适用于传递到预览窗口的数据。有关详细信息,请参阅模式文档

lores-width和lores-height

从相机提供第二个低分辨率图像流,并缩小到指定尺寸。
每个都接受一个数字,用于定义低分辨率流的尺寸(以像素为单位)。
可用于预览和视频模式。不适用于静态捕获。如果指定的纵横比与正常分辨率流不同,则会生成非方形像素。
对于 rpicam-vid,禁用额外的色彩降噪处理。
图像后处理结合使用时,可用于图像分析。

hflip

水平翻转图像。不接受值。

vflip

垂直翻转图像。不接受值。

rotation

旋转从传感器提取的图像。仅接受值 0 或 180。

roi

裁剪从传感器的整个视野中提取的图像。接受 0 到 1 之间的四个十进制值,格式如下:<x>,<y>,<w>,h>。这些值中的每一个都表示可用宽度和高度的百分比,以 0 和 1 之间的小数表示。
这些值定义了以下比例:

  • <x>:提取图像前要跳过的 X 个坐标

  • <y>:提取图像前要跳过的 Y 坐标

  • <w>:要提取的图像宽度

  • <h>:要提取的图像高度

默认值为 0,0,1,1(从第一个 X 坐标和第一个 Y 坐标开始,使用 100% 的图像宽度,使用 100% 的图像高度)。
例子:

  • rpicam-hello --roi 0.25,0.25,0.5,0.5 正好选择从图像中心裁剪的像素总数的一半(跳过 X 坐标的前 25%,跳过 Y 坐标的前 25%,使用总图像宽度的 50%,使用图像总高度的 50%)。

  • rpicam-hello --roi 0,0,0.25,0.25 正好选择从图像左上角裁剪的像素总数的四分之一(跳过 X 坐标的前 0%,跳过 Y 坐标的前 0%,使用图像宽度的 25%,使用图像高度的 25%)。

hdr

默认值:off
在 HDR 模式下运行相机。如果传递时没有值,则假定为 auto。接受下列值之一:

  • off

  • auto- 在支持的设备上启用 HDR。使用传感器的内置 HDR 模式(如果可用)。如果传感器缺少内置 HDR 模式,请使用板载 HDR 模式(如果可用)。

  • single-exp- 使用板载 HDR 模式(如果可用),即使传感器具有内置 HDR 模式。如果板载 HDR 模式不可用,请禁用 HDR。

Raspberry Pi 5 及更高版本的设备具有板载 HDR 模式。
要检查传感器中的内置 HDR 模式,除了列表相机之外,还要传递此选项。

相机控制选项

以下选项控制影响相机图像质量的图像处理和算法。

sharpness

设置图像锐度。接受以下范围的数值:

  • 0.0

  • 大于 0.0 但小于 1.0 的值应用的锐化量小于默认锐化量

  • 1.0 应用默认锐化量

  • 大于 1.0 的值应用额外的锐化

contrast

指定图像对比度。接受以下范围的数值:

  • 0.0 应用最小对比度

  • 大于 0.0 但小于 1.0 的值应用的对比度小于默认对比度

  • 1.0 应用默认对比度

  • 大于 1.0 的值应用额外的对比度

brightness

指定图像亮度,作为偏移量添加到输出图像中的所有像素。接受以下范围的数值:

  • -1.0应用最小亮度(黑色)

  • 0.0应用标准亮度

  • 1.0应用最大亮度(白色)

对于许多用例,首选 ev

saturation

指定图像颜色饱和度。接受以下范围的数值:

  • 0.0 应用最小饱和度(灰度)

  • 大于 0.0 但小于 1.0 的值应用的饱和度小于默认饱和度

  • 1.0 应用默认饱和度

  • 大于 1.0 的值应用额外的饱和度

ev

指定图像的曝光值 (EV) 补偿(以光圈为单位)。接受一个数值,该数值控制沿以下频谱传递给自动曝光/增益控制 (AEC/AGC) 处理算法的目标值:

  • -10.0应用最小目标值

  • 0.0应用标准目标值

  • 10.0应用最大目标值

shutter

指定使用快门的曝光时间(以微秒为单位)。使用此选项时,增益仍会有所不同。如果相机的帧速率太快而不允许指定的曝光时间(例如,1fps 的帧速率和 10000 微秒的曝光时间),传感器将使用帧速率允许的最大曝光时间。
有关官方相机的最小和最长快门时间列表,请参阅相机硬件文档。高于最大值的值会导致未定义的行为。

gain

别名:--analoggain
设置组合的模拟增益和数字增益。当传感器驱动器可以提供请求的增益时,仅使用模拟增益。当模拟增益达到最大值时,ISP应用数字增益。接受数值。
有关官方相机的模拟增益限制列表,请参阅相机硬件文档
有时,即使未超过模拟增益限值,数字增益也可能超过 1.0。在以下情况下可能会发生这种情况:

  • 任一颜色增益都降至 1.0 以下,这将导致数字增益稳定到 1.0/min(red_gain,blue_gain)。这样可以使应用于任何高于1.0的颜色通道的总数字增益保持稳定,以避免变色伪影。

  • 自动曝光/增益控制 (AEC/AGC) 更改期间略有差异。

metering

默认值:centre
设置自动曝光/增益控制 (AEC/AGC) 算法的测光模式。接受以下值:

  • centre- 中心重点测光

  • spot- 点测光

  • average- 平均或全帧测光

  • custom- 在相机调谐文件中定义的自定义测光模式

有关定义自定义测光模式以及在现有测光模式下调整区域权重的更多信息,请参阅 Raspberry Pi 相机和 libcamera 的调优指南

exposure

设置曝光配置文件。更改曝光配置文件不应影响图像曝光。相反,不同的模式会调整增益设置以获得相同的净结果。接受以下值:

  • sport:短期曝光,增益较大

  • normal:正常曝光,正常增益

  • long:曝光时间长,增益小

您可以使用调整文件编辑曝光配置文件。有关更多信息,请参阅 Raspberry Pi 相机和 libcamera 的调优指南

最新评论

友情链接:

返回顶部