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

相机软件(四)

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

简介:相机软件

awb

设置自动白平衡 (AWB) 模式。接受以下值:

模名称色温范围
auto2500K 至 8000K
incandescent2500K 至 3000K
tungsten3000K 至 3500K
fluorescent4000K 至 4700K
indoor3000K 至 5000K
daylight5500K 至 6500K
cloudy7000K 至 8500K
custom在优化文件中定义的自定义范围。

这些值只是近似值:值可能会根据相机调谐而变化。
无模式完全禁用 AWB。相反,您可以使用 awbgains 修复颜色增益。
有关 AWB 模式的更多信息,包括如何定义自定义模式,请参阅 Raspberry Pi 相机和 libcamera 的调优指南

awbgains

设置要使用的固定红色和蓝色增益值,而不是自动白平衡 (AWB) 算法。设置非零值以禁用 AWB。接受以下格式的逗号分隔数字输入:<red_gain>,<blue_gain>

denoise

默认值:auto
设置降噪模式。接受以下值:

  • auto:启用标准空间降噪。对视频使用超快色彩降噪,对图像使用高质量色彩降噪。在预览窗口中不启用额外的色彩降噪。

  • off:禁用空间和色彩降噪。

  • cdn_off:禁用色彩降噪。

  • cdn_fast:使用快速色彩降噪。

  • cdn_hq:使用高品质的色彩降噪。由于吞吐量降低,不适合视频/取景器。

即使是快速的色彩去噪也会降低帧率。高质量的色彩降噪显著降低了帧率。

tuning-file

指定相机调谐文件。调谐文件允许您控制图像处理的许多方面,包括自动曝光/增益控制 (AEC/AGC)、自动白平衡 (AWB)、色彩渐晕校正、色彩处理、去噪等。接受优化文件路径作为输入。
有关优化文件的详细信息,请参阅优化文件

autofocus-mode

default
指定自动对焦模式。接受以下值:

  • default:将相机置于连续自动对焦模式,除非镜头位置或拍摄时自动对焦模式覆盖该模式为手动

  • manual:除非手动配置镜头位置,否则根本不会移动镜头

  • auto:仅在相机启动时移动镜头进行自动对焦扫描,如果同时使用拍摄时自动对焦,则仅在拍摄前移动镜头进行自动对焦扫描

  • continuous:随着场景的变化自动调整镜头位置

此选项仅支持某些相机模块。

autofocus-range

normal
指定自动对焦范围。接受以下值:

  • normal:从相当接近到无限远的对焦

  • macro

  • full

此选项仅支持某些相机模块。

autofocus-speed

normal
指定自动对焦速度。接受以下值:

  • normal:在正常速度下改变镜头位置

  • fast:快速改变镜头位置

此选项仅支持某些相机模块。
autofocus-range
指定传感器全场内的自动对焦窗口。接受 0 到 1 之间的四个十进制值,格式如下:<x>,<y>,<w>,h>。这些值中的每一个都表示可用宽度和高度的百分比,以 0 和 1 之间的小数表示。
这些值定义了以下比例:

  • <x>:应用自动对焦前要跳过的 X 坐标

  • <y>:应用自动对焦前要跳过的 Y 坐标

  • <w>:自动对焦区域宽度

  • <h>:自动对焦区域高度

默认值在两个维度(图像总面积的 1/9)中使用输出图像的中间三分之一。
例子:

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

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

此选项仅支持某些相机模块。

lens-position

default
将镜头移动到固定焦距,通常以屈光度(单位为 1 / 距离,以米为单位)给出。接受以下值范围:

  • 0.0:将镜头移动到“无限远”位置

  • 任何其他 number:将镜头移动到 1 / number位置。例如,值 2.0 将集中在大约 0.5m 处

  • default:将镜头移动到与镜头超焦距位置相对应的默认位置

镜头校准不完善,因此同一型号的不同相机模块可能会有所不同。

verbose

别名:-v
默认值:1
设置详细级别。接受以下值:

  • 0:无输出

  • 1:正常输出

  • 2:详细输出

输出文件选项

output

别名:-o
设置用于录制图像或视频的文件的名称。除了纯文本文件名之外,还接受以下特殊值:

  • -:写入 stdout。

  • udp://(前缀):用于 UDP 流的网络地址。

  • tcp://(前缀):TCP 流式处理的网络地址。

  • 在文件名中包含 %d 指令,以将该指令替换为针对每个打开的文件递增的计数。此指令支持标准 C 格式指令修饰符。

例子:

  • rpicam-vid -t 100000 --segment 10000 -o chunk%04d.h264 以 10 秒的段记录一个 100 秒的文件,其中每个文件都包含一个用前导零填充的递增四位数计数器:例如 chunk0001.h264、chunk0002.h264 等。

  • rpicam-vid -t 0 --inline -o udp://192.168.1.13:5000 在端口 5000 上使用 UDP 将 H.264 视频流式传输到网络地址 192.168.1.13。

wrap

设置输出 %d 指令使用的计数器的最大值。达到此值后,计数器将重置为零。接受数值。
flush
一旦帧完成写入,就会将输出文件刷新到磁盘,而不是等待系统处理它。不接受值。

post-process-file

指定一个 JSON 文件,用于配置映像管道应用的后处理。这适用于相机图像到达应用程序之前的图像。这与传统的“图像效果”类似。接受文件名路径作为输入。
raspicam
后处理是一个很大的话题,它允许使用 OpenCV 和 TensorFlowLite 等第三方软件来分析和操作图像。有关详细信息,请参阅后处理

图像选项

本节中指定的命令行选项仅适用于静止图像输出。
若要将以下选项之一传递给应用程序,请在选项名称前面加上--.如果选项需要值,请在选项名称之后立即传递该值,并用一个空格分隔。如果值包含空格,请将该值括在引号中。
某些选项具有速记别名,例如 -h 而不是 --help。使用这些速记别名而不是完整的选项名称,以牺牲可读性为代价来节省空间和时间。
quality
别名:-q
默认值:93
设置 JPEG 质量。接受介于1和100之间的值。

exif

在 JPEG 输出文件中保存额外的 EXIF 标签。仅适用于 JPEG 输出。由于 libexif 库中的限制,许多标签当前(错误地)格式化为 ASCII,并在终端中打印警告。
此选项对于添加与相机设置相关的某些 EXIF 标签是必需的。使用 ExifTool 录制后,您可以将与相机设置无关的标签添加到输出 JPEG 中。
示例:rpicam-still -o test.jpg --exif IDO0。Artist=Someone

timelapse

以指定的时间间隔记录图像。接受以毫秒为单位的间隔。将此设置与timeout结合使用,以随时间推移捕获重复的图像。
您可以使用字符串格式为每个输出文件指定单独的文件名,例如 --output test%d.jpg。
示例:rpicam-still -t 100000 -o test%d.jpg --timelapse 10000 每 10 秒捕获一次图像,持续 100 秒。

framestart

将输出文件名中访问的帧计数器的起始值配置为 %d。接受整数起始值。

datetime

在输出文件名中使用当前日期和时间,格式为 MMDDhhmmss.jpg:

  • MM

  • DD= 2 位日期编号

  • hh= 2 位 24 小时小时数

  • mm= 2 位分钟数

  • ss= 2 位数字

不接受值。

timestamp

使用当前系统 Unix 时间作为输出文件名。不接受值。

restart

默认值:0
配置 JPEG 输出的重新启动标记间隔。JPEG 重新启动标记有助于限制损坏对 JPEG 图像的影响,并且还支持使用多线程 JPEG 编码和解码。接受整数值。

immediate

应用程序运行时立即捕获映像。

keypress

别名:-k
timeout到期或按下 Enter 键(以先到者为准)时捕获图像。按x键,然后按 Enter 键退出而不捕获。不接受值。

signal

timeout到期或收到SIGUSR1时捕获映像。使用SIGUSR2退出而不捕获。不接受值。

thumb

默认值:320:240:70
使用以下格式配置缩略图的尺寸和质量:<w:h:q>(或无,省略缩略图)。

encoding

别名:-e
默认值:jpg
设置用于图像输出的编码器。接受以下值:

  • jpg- JPEG

  • png- PNG

  • bmp- BMP

  • rgb- 未压缩RGB像素的二进制转储

  • yuv420- 未压缩 YUV420 像素的二进制转储

此选项始终确定编码,覆盖传递给output的扩展。
datetime和timestamp

raw

别名:-r
除输出图像外,还以 DNG 格式保存原始 Bayer 文件。将输出文件扩展名替换为 .dng。您可以使用dcraw或RawTherapee等工具处理这些标准DNG文件。不接受值。
原始文件中的图像数据正是从传感器中得出的,没有经过ISP或其他任何处理。除其他外,文件中保存的EXIF数据包括:

  • 曝光时间

  • 模拟增益(ISO 标签是所用模拟增益的 100 倍)

  • 白平衡增益(即“中性镜头”值的倒数)

  • ISP 使用的颜色矩阵

latest

创建指向最近保存的文件的符号链接。接受符号链接名称作为输入。

autofocus-on-capture

如果设置,则在捕获图像之前运行自动对焦周期。与以下autofocus_mode值交互:

  • default或manual:仅运行拍摄时间自动对焦周期。

  • auto:加载预览窗口时运行额外的自动对焦周期。

  • continuous:忽略此选项,而是在整个预览过程中持续聚焦。

不需要值,但可以传递 1 表示启用,传递 0 表示禁用。不传递值等同于传递 1。
仅受某些摄像头模块(如 Raspberry Pi 摄像头模块 3)支持。

视频选项

本节中指定的命令行选项仅适用于视频输出。
若要将以下选项之一传递给应用程序,请在选项名称前面加上--.如果选项需要值,请在选项名称之后立即传递该值,并用一个空格分隔。如果值包含空格,请将该值括在引号中。
某些选项具有速记别名,例如 -h 而不是 --help。使用这些速记别名而不是完整的选项名称,以牺牲可读性为代价来节省空间和时间。

quality

别名:-q
默认值:50
接受介于 1 到 100 之间的 MJPEG 质量级别。仅适用于以 MJPEG 格式编码的视频。

bitrate

别名:-b
控制 H.264 编码器使用的目标比特率(以每秒比特数为单位)。仅适用于以 H.264 格式编码的视频。影响输出视频的大小。
例:rpicam-vid -b 10000000 --width 1920 --height 1080 -o test.h264

intra

别名:-g
默认值:60
设置 H.264 位流中 Iframe(帧内)的频率。接受多个帧。仅适用于以 H.264 格式编码的视频。

profile

设置 H.264 配置文件。接受以下值:

  • baseline

  • main

  • high

仅适用于以 H.264 格式编码的视频。

level

设置 H.264 级别。接受以下值:

  • 4

  • 4.1

  • 4.2

仅适用于以 H.264 格式编码的视频。

codec

设置用于视频输出的编码器。接受以下值:

  • h264- 使用 H.264 编码器(默认)

  • mjpeg- 使用MJPEG编码器

  • yuv420- 输出未压缩的 YUV420 帧。

  • libav- 使用 libav 后端对音频和视频进行编码(更多信息,请参见 libav)

save-pts

警告:Raspberry Pi 5 不支持 save-pts 选项。改用 libav 自动生成容器格式的时间戳。
启用帧时间戳输出,允许您使用 mkvmerge 等工具将比特流转换为容器格式。接受时间戳输出文件的纯文本文件名。
例:rpicam-vid -o test.h264 --save-pts timestamps.txt
然后,您可以使用以下命令从比特流和时间戳文件生成 MKV 容器文件:

mkvmerge -o test.mkv --timecodes 0:timestamps.txt test.h264

keypress

别名:-k
允许 CLI 使用 Enter 键启用和禁用视频输出。除非 initial 另有指定,否则始终以录制状态启动。键入 x 键并按 Enter 退出。不接受值。

signal

别名:-s
允许 CLI 使用SIGUSR1启用和禁用视频输出。使用 SIGUSR2 退出。除非 initial 另有指定,否则始终以录制状态启动。不接受值。

initial

默认值:record
指定是在启用还是禁用视频输出的情况下启动应用程序。接受以下值:

  • record:在启用视频输出的情况下开始。

  • pause:在禁用视频输出的情况下启动。

将此选项与keypresssignal一起使用可在两种状态之间切换。

split

使用keypresssignal切换录制时,将来自单独录制会话的视频输出写入单独的文件。不接受值。除非与output t结合使用以指定每个文件的唯一名称,否则每次写入文件时都会覆盖。

最新评论

友情链接:

返回顶部