树莓派摄像头命令.docx
- 文档编号:10146252
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:20
- 大小:260.72KB
树莓派摄像头命令.docx
《树莓派摄像头命令.docx》由会员分享,可在线阅读,更多相关《树莓派摄像头命令.docx(20页珍藏版)》请在冰豆网上搜索。
树莓派摄像头命令
树莓派摄像头模块应用程序文档翻译
RaspiCam文档
本文档将对2013年12月7日为止可用的三个RaspberryPi摄像头应用程序进行介绍。
目前提供了三个应用程序,分别为:
raspistill、raspivid、raspistillyuv。
其中raspistill和raspistillyuv非常相似,并且都是用于捕捉图像,而raspivid用于捕捉视频。
所有应用程序均基于命令行方式运行,通过OpenMAX的mmalAPI进行编写。
OpenMAX的mmalAPI提供了更易使用的系统组件。
注意,mmal是一个由Broadcom为Videocore4系统定制的API。
应用程序使用了四个OpenMAX(mmal)组件:
camera(摄像)、preview(预览)、encoder(编码)、null_sink。
所有应用程序均使用了摄像组件,raspistill使用了图像编码组件,raspivid使用了视频编码组件,raspistillyuv没有使用编码组件,而是直接将YUV或RGB从摄像组件输出到文件。
预览显示为可选参数,但是可以用于全屏或输出到指定的显示器显示区域进行显示。
如果预览被禁用,那么null_silk组件将会对预览帧进行“吸收”。
这是由于尽管不需要摄像头生成供显示所用的的预览帧,但是仍需要使用它们进行曝光计算和白平衡设置的缘故。
此外,还可以省略文件名参数,这样既可以直接预览显示而不写入文件,或者直接输出到标准输出设备上。
命令行帮助可以通过直接输入应用程序名称获得。
安装摄像头硬件
警告:
摄像头对静电非常敏感。
如果您在安装摄像头电路板时没有防静电手环,可以尝试触摸一下水龙头、金属水槽或其它类似的东西即可。
摄像头电路板与RaspberryPi通过一条15芯的排线进行连接。
仅有两个连接座需要连接,排线需要安装到摄像头电路板和RaspberryPi上。
您需要正确安装,否则摄像头无法工作。
对于摄像头电路板,排线末端的蓝色标记应该背对着电路板。
而RaspberryPi部分,蓝色标记应该正对着网络接口方向(如果您使用的是ModelA,那么也是需要正对着网络接口预留位)。
尽管两部分连接座不尽相同,但它们的工作方式很相似。
对于RaspberryPi,拉起连接座两端的卡扣。
它应该很容易拉起,并能够轻微活动。
把排线完全插入到连接座中,并保证竖直,然后轻轻按下两端的卡扣。
摄像头电路板方面,也需要您将卡扣向电路板相反方向拉开,然后轻轻插入排线,最后将卡扣推回。
摄像头电路板的连接座与Pi上的区别就在这里。
安装摄像头软件
执行下文介绍的命令行进行下载并安装最新的内核,GPU固件及应用程序。
您需要连接到互联网才可以实现以下操作。
1
2
sudoapt-getupdate
sudoapt-getupgrade
接下来,您首先需要在RaspberryPi的raspi-config程序中启用摄像头的支持。
1
sudoraspi-config
将光标移动到摄像头选项(Cameraoption)处,并选择启用(Enable)。
在退出raspi-config时会要求您重新启动。
启用选项是为了确保重启后GPU固件能够正确运行(包括摄像头驱动和调节电路),并且GPU从主内存划分到了足够的内存使摄像头能够正确运行。
测试系统已经完成安装并正常工作,可尝试以下命令:
1
raspistill-v-o test.jpg
这将显示来自摄像头5秒钟的预览图像,并且拍摄一张照片,然后保存为文件test.jpg,同时显示出需要相关信息。
故障排除
如果摄像头工作不正常,您可以尝试以下操作。
∙连接排线是否连接正确?
它们必须都垂直插入到插槽中。
∙摄像头模块的连接座是否紧密的贴合到了电路板上?
摄像头模块电路板上连接座的黑色卡扣,有时会发生松动。
用指甲轻轻拉开,并且重新将排线插入,并且把卡扣按回。
∙是否运行过sudoapt-getupdate和sudoapt-getupgrade了?
∙是否运行过raspi-config并启用了摄像头选项?
∙您的电源合适吗?
除RaspberryPi所要求的电量,摄像头将需要额外的200-250mA的电量。
如果仍然无法工作,可以尝试以下操作:
Error:
raspistill/raspividnotfound. 该提示可以意味着您update/upgrade操作失败了。
请重试。
Error:
ENOMEMdisplayed. 摄像头没有启动。
请再次检查所有的连接线。
Error:
ENOSPCdisplayed. 摄像头可能使GPU内存溢出了。
检查/boot/目录下的config.txt文件内容。
gpu_men选项,最少应该为128。
如果以上内容都尝试过了,摄像头仍然无法工作,那么它可能出现问题了。
可以尝试在RaspberryPi论坛的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)。
例如:
–colfx128:
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)。
那么,感光区域设置为横向和纵向都为一半,并且宽度和高度都为传感器的四分之一时,可以写为:
-roi0.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做为画面计数。
-t30000-tl2000-oimage%04d.jpg
将会在30秒的时间内,每两秒拍摄一次,并且将文件命名为:
image1.jpg、image0002.jpg…image0015.jpg。
注意%04d表示在文件名中数字部分加入前导零,使其成为4位数。
例如,%08d将生成8位数字。
如果间隔时间设置为0,程序将不间断(取决于系统负担及存储速度)进行拍摄。
不过需要注意,每次捕捉前还是会有30ms的最小暂停时间,用于曝光计算操作。
–thumb,-th 设置缩略图参数(x:
y:
quality)
允许指定插入到JPEG文件中缩略图信息。
如果不指定,将为默认的64×48质量为35的缩略图。
如果设置为–thumbnone,那么将不会向文件中插入缩略图信息。
文件的尺寸也会稍微变小。
–demo,-d 运行演示模式
该参数将循环使用所有摄像头参数,并且不会捕捉。
而且无论是否完成所有的循环,在超时周期到达时都会停止演示操作。
循环之前的时间需要设置毫秒值。
–encoding,-e 指定输出文件的编码
可用的参数为jpg、bmp、gif、png。
注意,未被硬件加速支持的图像格式(gif、png、bmp)在保存的时候要比jpg格式耗时更长。
还需要注意,文件扩展名在编码时将被完全忽略。
–exif,-x 在捕捉的内容中加入EXIF标签(格式为‘key=value’)
允许在JPEG图像中插入特定的EXIF标签。
您可以插入32条记录。
这是非常实用的功能,比如插入GPS元数据。
例如设置经度
–exifGPS.GPSLongitude=5/1,10/1,15/100
该命令将会设置经度为5度10分15秒。
查看EXIF文档获得所有可用标签的详细信息。
支持的标签如下:
IFD0.或IFD1.
EXIF.
GPS.
EINT.
注意,有部分标签将会由摄像头系统自动设置,但是会被命令行执行的EXIF操作所覆盖。
如果设置为–exifnone,那么将不会向文件中插入EXIF信息。
文件的尺寸也会稍微变小。
–fullpreview,-fp 全预览模式
这将使预览窗口运行于全分辨率捕捉模式。
该模式最大帧率为15fps,并且预览将和捕捉拥有相同的可视区域。
在不进行模式转换时,捕捉动作将进行的更迅速。
该功能目前还在开发中。
–keypress,-k 按键模式
摄像头会运行(-t)参数指定的时间,并且每次按下回车键时进行一次捕捉。
在超时设置到达前按X键然后按回车键将退出程序。
如果超时时间设置为0,摄像头将一直工作,直到按下X键和回车键。
使用verbose(-v)参数可以显示输入确认提示,否则不会有任何提示。
–signal,-s 信号模式
摄像头会运行(-t)参数指定的时间,并且每次向摄像进程发送USR1信号时进行一次捕捉。
该操作可以通过发送kill命令进行终止。
您可以使用“pgrepraspistill”命令找到摄像进程的ID。
1
kill-USR1
raspistillyuv
raspistillyuv的许多选项与raspistill是相同的。
本节将对不同的部分进行讲解。
不支持的选项:
–exif,–encoding,–thumb,–raw,–quality
扩展选项:
–rgb,-rgb 以RGB888形式保存未压缩数据
该选项强制图像保存为每个通道为8bits的RGB格式,而不是YUV420格式。
注意,在raspistillyuv中所保存的图像在缓冲区中水平尺寸封装为可被16整除(所以可能会在每行的结尾都会出现无用的字节以使宽度可被16整除)。
缓冲区也会将垂直方向封装为可被16整除,在YUV模式中,每个Y、U、V平面都会使用该方式进行封装。
raspivid
–width,-w 设置图像宽度
视频的宽度。
范围为64到1920。
–height,-h 设置图像高度
视频的高度。
范围为64到1080。
–bitrate,-b 设置码率。
使用比特/秒为单位,所以10Mbits/s需要输入-b10000000。
对于H264编码的1080p30高清视频,码率需要在15Mbits/s或以上。
码率最大为25Mbits/s(-b25000000),但大于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 InsertPPS,SPSheaders插入PPS,SPS头
强制视频流的I-frame都包含PPS和SPS头信息。
某些视频封装格式需要该信息。
例如AppleHLS。
这些头信息体积很小,所以不会让文件的尺寸增加太多。
–timed,-td 设置定时切换捕捉和暂停
该选项可以使视频捕捉在特定的时间里暂停并重新开始记录。
需要指定开启时间和关闭时间两个值。
开启时间是视频的捕捉时长,关闭时间是暂停的时长。
总录制时长是又超时选项进行定义的。
注意,由于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 树莓派 摄像头 命令