Raspberry Pi 摄像头模块应用程序文档翻译

http://dreamcolor.net/archives/raspicam-documentation.html

——————————————————————————————————————————————————————————————————————

Raspberry Pi 摄像头模块应用程序文档翻译

更新日志:

  • 2014 年 3 月 24 日更新:根据 2013 年 12 月更新的文档,对原译文进行扩展翻译。翻译完毕。
  • 2014 年 3 月 4 日更新:根据 2013 年 12 月更新的文档,对原译文进行扩展翻译。部分内容未翻译完毕。
  • 2013 年 8 月 4 日更新:根据 Raspberry Pi 官方论坛发布的 RaspiCam 正式文档进行扩展翻译。硬件安装和软件安装部分稍后翻译完成。
  • 2013 年 5 月 31 日更新:根据 eLinux 中的 Wiki 内容添加使用 MP4Box 对视频进行封装的介绍。
  • 2013 年 5 月 24 日更新:根据 2013 年 5 月 10 日更新的官方文档完成了初步翻译。

本文会在适当的时间里进行增删改等操作,如果您对该文感兴趣,可以仅收藏本页。

RaspiCam 文档

本文档将对 2013 年 12 月 7 日为止可用的三个 Raspberry Pi 摄像头应用程序进行介绍。

目前提供了三个应用程序,分别为:raspistillraspividraspistillyuv。其中 raspistill 和 raspistillyuv 非常相似,并且都是用于捕捉图像,而 raspivid 用于捕捉视频。

所有应用程序均基于命令行方式运行,通过 OpenMAX 的 mmal API 进行编写。OpenMAX 的 mmal API 提供了更易使用的系统组件。注意,mmal 是一个由 Broadcom 为 Videocore 4 系统定制的 API。

应用程序使用了四个 OpenMAX(mmal)组件:camera(摄像)、preview(预览)、encoder(编码)、null_sink。所有应用程序均使用了摄像组件,raspistill 使用了图像编码组件,raspivid 使用了视频编码组件,raspistillyuv 没有使用编码组件,而是直接将 YUV 或 RGB 从摄像组件输出到文件。

预览显示为可选参数,但是可以用于全屏或输出到指定的显示器显示区域进行显示。如果预览被禁用,那么 null_silk 组件将会对预览帧进行“吸收”。这是由于尽管不需要摄像头生成供显示所用的的预览帧,但是仍需要使用它们进行曝光计算和白平衡设置的缘故。

此外,还可以省略文件名参数,这样既可以直接预览显示而不写入文件,或者直接输出到标准输出设备上。命令行帮助可以通过直接输入应用程序名称获得。

安装摄像头硬件

警告:摄像头对静电非常敏感。如果您在安装摄像头电路板时没有防静电手环,可以尝试触摸一下水龙头、金属水槽或其它类似的东西即可。

摄像头电路板与 Raspberry Pi 通过一条 15 芯的排线进行连接。仅有两个连接座需要连接,排线需要安装到摄像头电路板和
Raspberry Pi 上。您需要正确安装,否则摄像头无法工作。对于摄像头电路板,排线末端的蓝色标记应该背对着电路板。而 Raspberry
Pi 部分,蓝色标记应该正对着网络接口方向(如果您使用的是 Model A,那么也是需要正对着网络接口预留位)。

尽管两部分连接座不尽相同,但它们的工作方式很相似。对于 Raspberry
Pi,拉起连接座两端的卡扣。它应该很容易拉起,并能够轻微活动。把排线完全插入到连接座中,并保证竖直,然后轻轻按下两端的卡扣。摄像头电路板方面,也
需要您将卡扣向电路板相反方向拉开,然后轻轻插入排线,最后将卡扣推回。摄像头电路板的连接座与 Pi 上的区别就在这里。

安装摄像头软件

执行下文介绍的命令行进行下载并安装最新的内核,GPU 固件及应用程序。您需要连接到互联网才可以实现以下操作。


1

2

sudo apt-get update

sudo apt-get upgrade

接下来,您首先需要在 Raspberry Pi 的 raspi-config 程序中启用摄像头的支持。


1

sudo raspi-config

将光标移动到摄像头选项(Camera option)处,并选择启用(Enable)。在退出 raspi-config
时会要求您重新启动。启用选项是为了确保重启后 GPU 固件能够正确运行(包括摄像头驱动和调节电路),并且 GPU
从主内存划分到了足够的内存使摄像头能够正确运行。

测试系统已经完成安装并正常工作,可尝试以下命令:


1

raspistill -v -o test.jpg

这将显示来自摄像头 5 秒钟的预览图像,并且拍摄一张照片,然后保存为文件 test.jpg,同时显示出需要相关信息。

故障排除

如果摄像头工作不正常,您可以尝试以下操作。

  • 连接排线是否连接正确?它们必须都垂直插入到插槽中。
  • 摄像头模块的连接座是否紧密的贴合到了电路板上?摄像头模块电路板上连接座的黑色卡扣,有时会发生松动。用指甲轻轻拉开,并且重新将排线插入,并且把卡扣按回。
  • 是否运行过 sudo apt-get update 和 sudo apt-get upgrade 了?
  • 是否运行过 raspi-config 并启用了摄像头选项?
  • 您的电源合适吗?除 Raspberry Pi 所要求的电量,摄像头将需要额外的 200-250mA 的电量。

如果仍然无法工作,可以尝试以下操作:

Error : raspistill/raspivid not found. 该提示可以意味着您 update/upgrade 操作失败了。请重试。

Error : ENOMEM displayed. 摄像头没有启动。请再次检查所有的连接线。

Error : ENOSPC displayed. 摄像头可能使 GPU 内存溢出了。检查 /boot/ 目录下的 config.txt 文件内容。gpu_men 选项,最少应该为 128。

如果以上内容都尝试过了,摄像头仍然无法工作,那么它可能出现问题了。可以尝试在 Raspberry Pi 论坛的 Camera 板块找找是否有更多可用的帮助。

通用命令行参数

预览窗口

--preview, -p 预览窗口设置 <‘x,y,w,h‘>
允许用户在屏幕上定义预览窗口的大小和位置。注意,这将在所有其它窗口/图像的上层显示。

--fullscreen, -f 全屏预览模式
强制预览屏幕全屏显示。注意,这将会保留输入图像的长宽比例,所以可能会在图像的边缘出现填充条。

--nopreview, -n 不显示预览窗口
完全禁用预览窗口。注意,尽管预览窗口被禁用,但摄像头仍然在进行处理,所以会继续消耗资源。

--opacity, -op 设置预览窗口透明度
设置预览窗口的透明度。0 为完全透明,255 为完全不透明。

摄像头控制参数

--sharpness, -sh 设置图像锐度(-100 - 100)
设置图像的锐度,默认为 0。

--contrast, -co 设置图像对比度(-100 - 100)
设置图像的对比度,默认为 0。

--brightness, -br 设置图像亮度(0 - 100)
设置图像的亮度,默认为 50。0 为最暗,100 为最亮。

--saturation, -sa 设置图像饱和度(-100 - 100)
设置图像色彩饱和度。默认为 0。

--ISO, -ISO 设置捕捉 ISO
为捕捉图像设置 ISO。范围为 100 到 800。

--vstab, -vs 打开视频稳定
仅用于视频模式,用于开启视频稳定。

--ev, -ev 设置曝光补偿
设置图像的曝光补偿。范围为 -10 到 10,默认为 0。

--exposure, -ex 设置曝光模式
可能用到的参数为:

  • auto - 使用自动曝光模式
  • night - 夜间拍摄模式
  • nightpreview -夜间预览拍摄模式(暂且这么称呼)
  • backlight - 逆光拍摄模式
  • spotlight - 聚光灯拍摄模式
  • sports - 运动拍摄模式(高速快门等)
  • snow - 雪景优化拍摄模式
  • beach - 海滩优化拍摄模式
  • verylong - 长时间曝光拍摄模式
  • fixedfps - 帧约束拍摄模式
  • antishake - 防抖模式
  • fireworks - 烟火优化拍摄模式

注意,不是所有的设置都会在对摄像头进行微调时得到相应作用。

--awb, -awb 设置自动白平衡
可能用到的参数为:

  • off - 关闭白平衡测算
  • auto - 自动模式(默认)
  • sun - 日光模式
  • cloud - 多云模式
  • shade - 阴影模式
  • tungsten - 钨灯模式
  • fluorescent - 荧光灯模式
  • incandescent - 白炽灯模式
  • flash - 闪光模式
  • horizon - 地平线模式

--imxfx, -ifx 设置图像特效
设置应用于图像上的特效
可能用到的参数为:

  • none - 无特效(默认)
  • negative - 反色图像
  • solarise - 曝光过度图像
  • posterize - 色调图像
  • whiteboard - 白板特效
  • blackboard - 黑板特效
  • sketch - 素描风格特效
  • denoise - 降噪图像
  • emboss - 浮雕图像
  • oilpaint - 油画风格特效
  • hatch - 草图特效
  • gpen - 马克笔特效
  • pastel - 柔化风格特效
  • watercolour - 水彩风格特效
  • film - 胶片颗粒风格特效
  • blur - 模糊图像
  • saturation - 色彩饱和图像
  • colourswap - 暂未可用
  • washedout - 暂未可用
  • posterise - 暂未可用
  • colourpoint - 暂未可用
  • colourbalance - 暂未可用
  • cartoon - 暂未可用

--colfx, -cfx 设置色彩特效
指定图像 U 和 V 通道的参数(范围 0 到 255)。例如:--colfx 128:128 将得到一张单色图像。

--metering, -mm 设置测光模式
为预览和捕捉指定测光模式
可能用到的参数为:

  • average - 全画面平衡测光
  • spot - 点测光
  • backlit - 模拟背光图像
  • matrix - 阵列测光

--rotation, -rot 设置图像旋转(0 - 359)
对取景器和最终得到的图像进行旋转。可以接受 0 以上任何值,但由于硬件限制,只支持 0、90、180、270 度。

--hflip, -hf 设置水平翻转
水平翻转预览和保存的图像。

--vflip, -vf 设置垂直翻转
垂直翻转预览和保存的图像。

--roi, -roi 设置传感器感光区域
允许指定用于预览和捕捉的源所使用的传感器区域。该功能中 x 和 y 参数指定了坐上角的坐标,以及定义了宽度和高度值,并且所有值都为标准化坐标(0.0 到 1.0)。那么,感光区域设置为横向和纵向都为一半,并且宽度和高度都为传感器的四分之一时,可以写为:
-roi 0.5,0.5,0.25,0.25

--shutter, -ss 设置快门速度
设置快门的速度为指定的值(单位为微秒)。据当前的考证,目前未定义时,快门速度上限大约为 330000us(330ms 或 0.33s)。

应用程序专有设置

raspistill

--width, -w 设置图像宽度

--height, -h 设置图像高度

--quality, -q 设置 JPEG 品质
品质为 100 时几乎等同于未压缩。75 相对是比较好的选择。

--raw, -r 向 JPEG 元数据中添加 RAW 信息
该参数将从摄像头获取到的 RAW 信息插入到 JPEG 元数据中。

--output, -o 输出文件名
指定输出的文件名。如果不指定,将不保存到文件。如果文件名为“-”,将输出发送至标准输出设备。

--latest, -l 链接最后一帧到文件名
基于该名称做一个指向最后一帧的文件系统链接。

--verbose, -v 在运行过程中输出详细信息
在程序运行过程中,输出调试/详细信息。

--timeout, -t 获取图片前的时间
程序将执行指定的时长,然后进行获取操作(前提是 output 已指定)。如果未指定,将设置为 5 秒。

--timelapse, -tl 间隔拍摄模式
指定多次拍摄之间所间隔的毫秒值。注意,您需要在文件名中加入 %04d 做为画面计数。
-t 30000 -tl 2000 -o image%04d.jpg
将会在 30 秒的时间内,每两秒拍摄一次,并且将文件命名为:image1.jpg、image0002.jpg...image0015.jpg。注意 %04d 表示在文件名中数字部分加入前导零,使其成为 4 位数。例如,%08d 将生成 8 位数字。
如果间隔时间设置为 0,程序将不间断(取决于系统负担及存储速度)进行拍摄。不过需要注意,每次捕捉前还是会有 30ms 的最小暂停时间,用于曝光计算操作。

--thumb, -th 设置缩略图参数(x:y:quality)
允许指定插入到 JPEG 文件中缩略图信息。如果不指定,将为默认的 64x48 质量为 35 的缩略图。
如果设置为 --thumb none,那么将不会向文件中插入缩略图信息。文件的尺寸也会稍微变小。

--demo, -d 运行演示模式
该参数将循环使用所有摄像头参数,并且不会捕捉。而且无论是否完成所有的循环,在超时周期到达时都会停止演示操作。循环之前的时间需要设置毫秒值。

--encoding, -e 指定输出文件的编码
可用的参数为 jpg、bmp、gif、png。注意,未被硬件加速支持的图像格式(gif、png、bmp)在保存的时候要比 jpg 格式耗时更长。还需要注意,文件扩展名在编码时将被完全忽略。

--exif, -x 在捕捉的内容中加入 EXIF 标签(格式为 ‘key=value‘)
允许在 JPEG 图像中插入特定的 EXIF 标签。您可以插入 32 条记录。这是非常实用的功能,比如插入 GPS 元数据。例如设置经度
--exif GPS.GPSLongitude=5/1,10/1,15/100
该命令将会设置经度为 5 度 10 分 15 秒。查看 EXIF 文档获得所有可用标签的详细信息。支持的标签如下:
IFD0. 或 IFD1.
<ImageWidth, ImageLength, BitsPerSample, Compression,
PhotometricInterpretation, ImageDescription, Make, Model, StripOffsets,
Orientation, SamplesPerPixel, RowsPerString, StripByteCounts,
Xresolution, Yresolution, PlanarConfiguration, ResolutionUnit,
TransferFunction, Software, DateTime, Artist, WhitePoint,
PrimaryChromaticities, JPEGInterchangeFormat,
JPEGInterchangeFormatLength, YcbCrCoefficients, YcbCrSubSampling,
YcbCrPositioning, ReferenceBlackWhite, Copyright>

EXIF.
<ExposureTime, FNumber, ExposureProgram, SpectralSensitivity, a
ISOSpeedRatings, OECF, ExifVersion, DateTimeOriginal, DateTimeDigitized,
ComponentsConfiguration, CompressedBitsPerPixel, ShutterSpeedValue,
ApertureValue, BrightnessValue, ExposureBiasValue, MaxApertureValue,
SubjectDistance, MeteringMode, LightSource, Flash, FocalLength,
SubjectArea, MakerNote, UserComment, SubSecTime, SubSecTimeOriginal,
SubSecTimeDigitized, FlashpixVersion, ColorSpace, PixelXDimension,
PixelYDimension, RelatedSoundFile, FlashEnergy,
SpacialFrequencyResponse, FocalPlaneXResolution, FocalPlaneYResolution,
FocalPlaneResolutionUnit, SubjectLocation, ExposureIndex, SensingMethod,
FileSource, SceneType, CFAPattern, CustomRendered, ExposureMode,
WhiteBalance, DigitalZoomRatio, FocalLengthIn35mmFilm, SceneCaptureType,
GainControl, Contrast, Saturation, Sharpness, DeviceSettingDescription,
SubjectDistanceRange, ImageUniqueID>

GPS.
<GPSVersionID, GPSLatitudeRef, GPSLatitude, GPSLongitudeRef,
GPSLongitude, GPSAltitudeRef, GPSAltitude, GPSTimeStamp, GPSSatellites,
GPSStatus, GPSMeasureMode, GPSDOP, GPSSpeedRef, GPSSpeed, GPSTrackRef,
GPSTrack, GPSImgDirectionRef, GPSImgDirection, GPSMapDatum,
GPSDestLatitudeRef, GPSDestLatitude, GPSDestLongitudeRef,
GPSDestLongitude, GPSDestBearingRef, GPSDestBearing, GPSDestDistanceRef,
GPSDestDistance, GPSProcessingMethod, GPSAreaInformation, GPSDateStamp,
GPSDifferential>

EINT.
<InteroperabilityIndex, InteroperabilityVersion, RelatedImageFileFormat, RelatedImageWidth, RelatedImageLength>

注意,有部分标签将会由摄像头系统自动设置,但是会被命令行执行的 EXIF 操作所覆盖。

如果设置为 --exif none,那么将不会向文件中插入 EXIF信息。文件的尺寸也会稍微变小。

--fullpreview, -fp 全预览模式
这将使预览窗口运行于全分辨率捕捉模式。该模式最大帧率为 15fps,并且预览将和捕捉拥有相同的可视区域。在不进行模式转换时,捕捉动作将进行的更迅速。该功能目前还在开发中。

--keypress, -k 按键模式

摄像头会运行(-t)参数指定的时间,并且每次按下回车键时进行一次捕捉。在超时设置到达前按 X 键然后按回车键将退出程序。如果超时时间设置为
0,摄像头将一直工作,直到按下 X 键和回车键。使用 verbose(-v)参数可以显示输入确认提示,否则不会有任何提示。

--signal, -s 信号模式

摄像头会运行(-t)参数指定的时间,并且每次向摄像进程发送 USR1 信号时进行一次捕捉。该操作可以通过发送 kill 命令进行终止。您可以使用“pgrep raspistill”命令找到摄像进程的 ID。


1

kill -USR1

raspistillyuv

raspistillyuv 的许多选项与 raspistill 是相同的。本节将对不同的部分进行讲解。

不支持的选项:
--exif, --encoding, --thumb, --raw, --quality

扩展选项:
--rgb, -rgb 以 RGB888 形式保存未压缩数据
该选项强制图像保存为每个通道为 8 bits 的 RGB 格式,而不是 YUV420 格式。

注意,在 raspistillyuv 中所保存的图像在缓冲区中水平尺寸封装为可被 16
整除(所以可能会在每行的结尾都会出现无用的字节以使宽度可被 16 整除)。缓冲区也会将垂直方向封装为可被 16 整除,在 YUV 模式中,每个
Y、U、V 平面都会使用该方式进行封装。

raspivid

--width, -w 设置图像宽度
视频的宽度。范围为 64 到 1920。

--height, -h 设置图像高度
视频的高度。范围为 64 到 1080。

--bitrate, -b 设置码率。
使用比特/秒为单位,所以 10Mbits/s 需要输入 -b 10000000。对于 H264 编码的 1080p30 高清视频,码率需要在
15Mbits/s 或以上。码率最大为 25Mbits/s(-b 25000000),但大于 17Mbits/s 时,在 1080p30
中并没有太大区别。

--output -o 输出文件名
指定输出的文件名。如果不指定,将不保存到文件。如果文件名为“-”,将输出发送至标准输出设备。

--verbose, -v 在运行过程中输出详细信息
在程序运行过程中,输出调试/详细信息。

--timeout, -t 获取图片前的时间
程序将执行指定的时长,然后进行获取操作(前提是 output 已指定)。如果未指定,将设置为 5 秒。设置为 0 意味着程序将一直运行,直到按下 Ctrl-C 才会停止。

--demo, -d 运行演示模式
该参数将循环使用所有摄像头参数,并且不会捕捉。而且无论是否完成所有的循环,在超时周期到达时都会停止演示操作。循环之前的时间需要设置毫秒值。

--framerate, -fps 指定录制的视频每秒的画面数量
目前,最小的帧率为 2fps,最大为 30fps。似乎将来会有所改变。

--penc, -e 在编码完成后显示预览图像
开启该选项会在压缩完成后显示预览图像。显示在预览窗口中的图像会因为压缩的原因出现失真。正常情况下,预览将会显示摄像头输出的原始图像。该功能在未来的版本中可能不再可用。

--intra, -g 指定帧内刷新周期(关键帧率/画面组)
为录制的视频设置帧内刷新周期(画面组)率。H.264 视频在每个帧内刷新周期中都使用了 I-frame。该选项指定了每个 I-frame 之间帧的数量。数字越大,生成的视频尺寸越小,数字越小,视频流将越庞大,直至出错。

--qp, -qp 设置量化参数

为视频流设置初始量化参数。范围从 10 到 40,并且对所录制视频的质量有极大的影响。值越大,质量越低,并且文件尺寸越小。码流设置为 0,并结合此参数一起使用,可用来设置一个完全动态码流的视频。

--profile, -pf 为录制的视频指定 H264 配置文件

为录制的视频指定 H264 配置文件。选项为:baseline、main、high。

--inline, -ih Insert PPS, SPS headers 插入 PPS,SPS 头

强制视频流的 I-frame 都包含 PPS 和 SPS 头信息。某些视频封装格式需要该信息。例如 Apple HLS。这些头信息体积很小,所以不会让文件的尺寸增加太多。

--timed, -td 设置定时切换捕捉和暂停

该选项可以使视频捕捉在特定的时间里暂停并重新开始记录。需要指定开启时间和关闭时间两个值。开启时间是视频的捕捉时长,关闭时间是暂停的时长。总录制时长是又超时选项进行定义的。注意,由于开启时间和关闭时间的设置原因,录制时长将略微比超时设置的时间要长。

例如


1

raspivid -o test.h264 -t 25000 -timed 2500,5000

将进行 25 秒的录制操作。录制操作包括若干个 2500 毫秒(2.5 秒)录制和 5000 毫秒(5秒)暂停的操作,并且重复时长超过
20 秒。所以该录制过程中实际只录制了 10 秒的内容。包括 4 段 2.5 秒的视频片断 = 被若干个 5 秒钟暂停操作分隔开的 10
秒钟视频。

2.5 秒录制 – 5 秒暂停 - 2.5 秒录制 – 5 秒暂停 -2.5 秒录制 – 5 秒暂停 – 2.5 秒录制

录制了 25 秒。但仅有 10 秒的记录

--keypress, -k 使用回车键在录制和暂停两种状态间进行切换

每次点击回车键将会暂停或重新开始录制进程。点击 X 键后点击回车键将停止录制并关闭程序。注意,超时设置值将影响录制结束时间,但仅在每次回车键点击后进行检查,所以如果系统正在等待按键操作,尽管超时设置已过期,录制进程退出前也会等待按键操作。

--signal, -s 使用 SIGUSR1 信号在录制和暂停两种状态间进行切换

向 Raspivid 进程发送 USR1 信号来切换录制和暂停。该操作可以通过使用 kill 命令来实现。您可以使用“pgrep raspivid” 命令找到 raspivid 的进程 ID。

kill -USR1

注意,超时设置值将影响录制结束时间,但仅在每次发送 SIGUSR1 信号后进行检查,所以如果系统正在等待信号,尽管超时设置已过期,录制进程退出前也会等待信号的发送操作。

--initial, -i 定义启动时的初始状态。

定义摄像头初始状态为暂停或立即开始录像。选项可以为“record”(录像)或“pause”(暂停)。注意,如果您设置的超时时长很短,而且初始状态设置为“暂停”,那么将不会录制任何输出的内容。

--segment, -sg 将视频流分段存储到多个文件

与存储在单个文件中不同,该参数将视频分段存储在以毫秒为单位所指定长度的数个文件中。为了将生成的文件命名为不同的名称,您需要在文件名中合适的位置添加 %04d 或类似的参数来让文件名中显示计数值。例如:

--segment 3000 -o video%04d.h264

将分割成每段长度 3000 毫秒(3 秒)并且命名为 video0001.h264,video0002.h264
等。每个段落都是可无缝连接的(段落之间不会丢帧),但每个片段的长度将取决于帧内周期值,原因是每个分割的段落都需要起始于 I-frame
处。因此,每个段落都会等于或大于指定的时间长度。

--wrap, -wr 设置最大分段数

当输出分段视频时,该参数设置了最大分段数,并且达到最大值时,将返回到初始的第一个段落。该参数赋予了录制分段视频的功能,但是将覆盖之前生成的
文件。所以,如果设置为 4,那么上面的例子中所生成的文件名为
video0001.h264,video0002.h264,video0003.h264,video0004.h264。而且,一旦
video0004.h264 文件录制完毕后,计数将回到 1,并且 video0001.h264 将被覆盖。

--start, -sn 设置初始段落数

当输出分段视频时,该参数为初始的段落数,它允许从指定的段落恢复之前的录制操作。默认值为 1。

示例

图像捕捉

默认情况下,传感器将以其支持的最高分辨率进行捕捉。可以在命令行中通过使用 -w 和 -h 参数进行更改。


1

2

# 两秒钟(时间单位为毫秒)延迟后拍摄一张照片,并保存为 image.jpg

raspistill -t 2000 -o image.jpg


1

2

# 拍摄一张自定义大小的照片。

raspistill -t 2000 -o image.jpg -w 640 -h 480


1

2

# 降低图像质量,减小文件尺寸

raspistill -t 2000 -o image.jpg -q 5


1

2

# 强制使预览窗口出现在坐标为 100,100 的位置,并且尺寸为宽 300 和高 200 像素。

raspistill -t 2000 -o image.jpg -p 100,100,300,200


1

2

# 禁用预览窗口

raspistill -t 2000 -o image.jpg -n


1

2

# 将图像保存为 PNG 文件(无损压缩格式,但是要比 JPEG 速度慢)。注意,当选择图像编码时,文件扩展名将被忽略。

raspistill -t 2000 -o image.png –e png


1

2

# 向 JPEG 文件中添加一些 EXIF 信息。该命令将会把作者名称标签设置为 Dreamcolor,GPS 海拔高度为 123.5米。

raspistill -t 2000 -o image.jpg -x IFD0.Artist=Dreamcolor -x GPS.GPSAltitude=1235/10


1

2

# 设置浮雕风格图像特效

raspistill -t 2000 -o image.jpg -ifx emboss


1

2

# 设置 YUV 图像的 U 和 V 通道为指定的值(128:128 为黑白图像)

raspistill -t 2000 -o image.jpg -cfx 128:128


1

2

# 仅显示两秒钟预览图像,而不对图像进行保存。

raspistill -t 2000


1

2

# 间隔获取图片,在 10 分钟(10 分钟 = 600000 毫秒)的时间里,每 10 秒获取一张,并且命名为 image_number_001_today.jpg,image_number_002_today.jpg... 的形式,并且最后一张照片将命名为 latest.jpg。

raspistill -t 600000 -tl 10000 -o image_num_%03d_today.jpg -l latest.jpg


1

2

# 获取一张照片并发送至标准输出设备

raspistill -t 2000 -o -


1

2

# 获取一张照片并保存为一个文件

raspistill -t 2000 -o - > my_file.jpg


1

2

#摄像头一直工作,当按下回车键时获取一张照片。

raspistill -t 0 -k -o my_pics%02d.jpg

视频捕捉

图像尺寸和预览设置与图像捕捉相同。录制的视频默认尺寸为 1080p(1920x1080)


1

2

# 使用默认设置录制一段 5 秒钟的视频片段(1080p30)

raspivid -t 5000 -o video.h264


1

2

# 使用指定码率(3.5Mbits/s)录制一段 5 秒钟的视频片段

raspivid -t 5000 -o video.h264 -b 3500000


1

2

# 使用指定帧率(5fps)录制一段 5 秒钟的视频片段

raspivid -t 5000 -o video.h264 -f 5


1

2

# 发送到标准输出设备一段 5 秒钟经过编码的摄像头流图像

raspivid -t 5000 -o -


1

2

# 保存到文件一段 5 秒钟经过编码的摄像头流图像

raspivid -t 5000 -o - > my_file.h264

Shell 错误代码

应用程序将返回完整的错误代码。可能出现的错误代码为:

EX_OK 0 应用程序运行成功
EX_USAGE 64 错误的命令行参数
EX_SOFTWARE 70 软件或摄像头错误
130 由于按下 Ctrl-C,应用程序终止运行

扩展内容

MP4Box

raspivid 通常会将录制的视频保存为 .h264
格式的文件。而我们使用的很多播放器可能无法正常播放该格式的视频文件。这就需要我们将生成的 .h264
格式的文件封装到播放器能够识别的视频容器格式中(比如封装为 mp4 格式)。有很多视频处理软件可以达到这个目的,您也可以直接在
Raspberry Pi 上直接进行封装。这里介绍的是“gpac”中的“MP4Box”。安装和使用的方法如下:


1

2

3

4

sudo apt-get update

sudo apt-get install gpac

MP4Box -add filename.h264 filename.mp4

相关网站

原文地址:RaspiCam Documentation
项目地址:RaspiCam
本文链接:Raspberry Pi 摄像头模块应用程序文档翻译
Rpi Camera Module from eLinux

如需转载,请注明出处。谢谢……

时间: 2024-11-08 21:29:43

Raspberry Pi 摄像头模块应用程序文档翻译的相关文章

常用Raspberry Pi周边传感器的使用教程(转)

转:http://bbs.xiaomi.cn/thread-7797152-1-1.html 在Raspberry Pi 的使用和开发过程中,你可能时常需要一些硬件和传感器等来支持你的开发工作,例如,加入一个超声波测距的模块来让你的Raspberry Pi具备测距功能,加入一个测温模块以实现测温功能.今天我们为你准备了10款最常用的传感器与Raspberry Pi 结合使用的例程,你可以在你的开发工作中直接使用这些例程,也可以稍做更改以接入更多的传感器至你的Raspberry Pi项目当中. 本

常用Raspberry Pi周边传感器的使用教程

在Raspberry Pi 的使用和开发过程中,你可能时常需要一些硬件和传感器等来支持你的开发工作,例如,加入一个超声波测距的模块来让你的Raspberry Pi具备测距功能,加入一个测温模块以实现测温功能.今天我们为你准备了10款最常用的传感器与Raspberry Pi 结合使用的例程,你可以在你的开发工作中直接使用这些例程,也可以稍做更改以接入更多的传感器至你的Raspberry Pi项目当中. 本文以SeeedStudio公司开发的Grove电子模块系列为例,当然,你也可以在更多的硬件公司

基于树莓派(Raspberry Pi)平台的智能家居实现(一)----继电器模块,DHT11模块

前言:    ??其实做这个智能家居系统我还是因为学校的毕业设计,距离上篇文章发布已经过去了20多天了,之前想着只是做一个烟雾报警,然后通过Zabbix进行报警,但是通过这20多天的设计,我发现实现报警的功能其实除了邮件,还有短信.微信.甚至电话.但是因为各种原因,比如.....钱0.0,哈哈哈,因此我计划用企业微信进行一个报警,然后貌似通过普通微信进行一个简单的交互(interactive),还是不错的选择,并且做出来的效果也很棒.??最后想说的是:"基于树莓派(Raspberry Pi)平台

raspberry pi 上使用 MQ-7一氧化碳传感器模块

MQ-7一氧化碳传感器模块介绍 简要说明: 一. 尺寸:32mm X22mm X27mm   长X宽X高 二. 主要芯片:LM393.MQ-7气体传感器 三. 工作电压:直流5伏 四. 特点: 1.具有信号输出指示. 2.双路信号输出(模拟量输出及TTL电平输出) 3.TTL输出有效信号为低电平.(当输出低电平时信号灯亮,可直接接单片机) 4.模拟量输出0~5V电压,浓度越高电压越高. 5.对一氧化碳具有很高的灵敏度和良好的选择性. 6.具有长期的使用寿命和可靠的稳定性 五.应用: 用于家庭.环

使用 Raspberry Pi 上的传感器在 Node.js 中创建一个 IoT Bluemix 应用程序

先决条件 一个IBM Bluemix 帐号,一个 Raspberry Pi 2 或 3,一个 PIR 运动传感器 适用于本文的 Github 存储库 如果您是一位精明的 Bluemix 开发人员,您可能只想看看如何在 node.js 中与 IoT 建立连接,或者只想了解如何从此 github 存储库中拉取我的代码. git clone https://github.com/nicolefinnie/iot-nodejs-tutorial 以下是实现与 IBM IoT 平台连接在一起的 4 个 R

用树莓派Raspberry Pi和Micro:bit做一个自拍器

在这个项目中,我们将使用Python来构建一个由Micro:bit触发树莓派Raspberry Pi和相机模块的自拍器.这是开始使用硬件和简单文本编程的好方法. 我们将学习: 如何设置Raspberry Pi相机 如何在Micro:bit和Raspberry Pi上使用输入和输出引脚 用Python代码控制GPIO引脚 用Python代码控制相机模块 材料: 带有SD卡和常规外围设备的Raspberry Pi Raspberry Pi camera module Micro:bit USB A

从零开始搭建Raspberry Pi机器视觉编程环境

从零开始搭建Raspberry Pi机器视觉编程环境 本文主要包括如下内容: 安装Raspbian系统 连接和设置网络 安装中文支持 用电脑控制树莓派 通过SSH远程登录树莓派命令行界面 安装VNC远程登录树莓派图形桌面 通过串口连接树莓派 安装OpenCV及相关开发包 一键备份树莓派SD卡 1 安装Raspbian系统 拿到树莓派后第一件事当然是装系统.安装树莓派系统所需配置: 1个输出5V,>700mA(通常选择1A或2A)的USB电源适配器 1根micro USB线(安卓线) 1张拷贝好系

用Raspberry Pi搭建Azure IOT解决方案

Raspberry Pi是一款基于Linux的单板机电脑.它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件刺激在学校的基本计算机科学教育.树莓派配备一枚博通(Broadcom)出产的ARM架构700MHz BCM2835处理器,256MB內存(B型已升级到512MB内存),使用SD卡当作存储媒体,且拥有一个Ethernet.两个USB接口.以及HDMI(支持声音输出)和RCA端子输出支持.树莓派只有一张信用卡大小,体积大概是一个火柴盒大小,可以运行像<雷神之锤III竞技场>的游戏和进行

Raspberry Pi 3 Model B入手安装小记

1.买了最新出来的raspberry Pi 3,集成了wifi和蓝牙模块,省去了额外购买wifi模块和蓝牙模块的麻烦.为了保护脆弱的原件,特地买了一个专用的raspberry Pi盒子用来存放,考虑到新的博通1.2GHz四核处理器巨大的发热量,还准备了两块散热片和一块3*3的小电扇保证运行时不至于过热,准备工作一切就绪.图片为还未组装的raspberry Pi 3. 组装过程并不复杂,风扇插在外侧的2.3引脚上即可正常运行.组装完成后即为如图所示. 2.硬件组装完成以后,就要为raspberry