Raspberry Pi 使用摄像头(命令行)

本示例,凌顺实验室(lingshunlab.com)演示最简单的摄像头应用。

安装方法

具体安装方法推荐先查看视频演示

先看下图,认识一下各自的名称和位置

摄像头 使用 FFC软排线 连接 树莓派的CSI接口

接好线,我们就通电开机咯。

系统设置开启摄像头

1,打开「Raspberry Pi Configuration」

依次打开 「Raspberry Pi」-> 「Preferences」 -> 「Raspberry Pi Configuration」,如下图:

2,开启摄像头功能

选择「Interfaces」选项卡,把「Camera」那行的「Enable」点选,如下图:

3,点击OK,重启

点击OK后,会弹出提示框,大概意思是需要重启,问你是否现在就重启?选择「Yes」即可。

使用命令行拍照

重启后,进入系统 打开左上角的「Terminal」,

使用以下命令进行拍照:

raspistill -o camera.jpg

该命令使用了参数-o是表示输出到文件,也就是会保存为你所指定的文件名称。

现在在目录/home/pi下,会保存了刚才所拍摄的照片camera.jpg,可以打开看看。

raspistill 的用法详解

语法 raspistill [options]

作用 摄像机在特定的时间内运行,并可以保存JPG格式图像。

图像参数命令

  • -q, --quality : 设置jpeg质量<0至100>。
  • -r, --raw : 将原始拜耳数据添加到jpeg元数据中。
  • -l, --latest : 将最新的完整图像链接到文件名<文件名>。
  • -t, --timeout : 拍照和关机前的时间(毫秒)(如果没有指定,则设置为5s)
  • -th, --thumb : 设置缩略图参数(x:y:quality)或无。
  • -d, --demo : 运行演示模式(循环浏览相机选项范围,不进行拍摄)
  • -e, --encoding : 输出文件的编码(jpg, bmp, gif, png)。
  • -x, --exif : 应用于捕获的EXIF标签(格式为\'key=value\')或无。
  • -tl, --timelapse : 延时摄影模式。每隔ms拍摄一张图片。%d ==帧数 (尝试:-o img_%04d.jpg)
  • -fp, --fulreview : 使用静止捕获的分辨率运行预览(可能会降低预览帧数)。
  • -k, --keypress : 在捕获之间等待ENTER, X然后ENTER退出。
  • -s, --signal : 在两次捕获之间等待另一个进程的SIGUSR1或SIGUSR2。
  • -g, --gl : 绘制预览到纹理,而不是使用视频渲染组件。
  • -gc, --glcapture : 捕捉GL帧缓冲区而不是相机图像。
  • -bm, --burst : 启用 "连拍模式"。
  • -dt, --datetime : 用DateTime(月-日-时-分-秒)替换输出模式(%d) 。
  • -ts, --timestamp : 用unix时间戳(1970年以来的秒数)替换输出模式(%d)。
  • -fs, --framestart : 输出模式的起始帧数(%d)
  • -rs, --restart : JPEG重启间隔(默认为0,无)。

GL参数命令

  • -gs, --glscene : GL scene square,teapot,mirror,yuv,sobel,vcsm_square。
  • -gw, --glwin : GL窗口设置 <\'x,y,w,h\'>。

常用设置命令

  • -?, --help : 此帮助信息。
  • -w, --width : 设置图像宽度<大小>。
  • -h, --height : 设置图像高度<大小>。
  • -o, --output : 输出文件名(要写到stdout,使用\'-o -\')。如果没有指定,则不保存文件。
  • -v, --verbose : 在运行过程中输出verbose信息。
  • -cs, --camselect : 选择摄像机<编号>。默认为0
  • -md, --mode : 强制传感器模式,0=自动。0=auto。其他可用的模式见文档
  • -gps, --gpsdexif 。将实时GPS信息应用于输出(例如JPG中的EXIF,视频中的注释(需要libgps.so.23)。

预览参数命令

  • -p, --preview : 预览窗口设置<\'x,y,w,h\'>。
  • -f, --全屏:全屏预览模式。
  • --op, --opacity : 预览窗口不透明度 (0-255)
  • -n, --nopreview : 不显示预览窗口。
  • -dn, --dispnum : 显示预览窗口的显示器(dispmanx/tvservice编号)。

图像参数命令

  • -sh, --sharpness : 设置图像清晰度(-100至100)。
  • -co, --contrast : 设置图像对比度(-100至100)。
  • -br, --brightness : 设置图像亮度(0-100)。
  • -sa, --saturation : 设置图像饱和度(-100到100)。
  • -ISO, --ISO : 设置拍摄ISO
  • -vs, --vstab : 开启视频稳定功能。
  • -ev, --ev : 设置EV补偿--步数为1/6挡。
  • -ex, --exposure : 设置曝光模式(见注释)。
  • -fli, --闪烁:设置避免闪烁模式(见注释)。
  • -awb, --awb : 设置AWB模式(见注释)。
  • -ifx, --imxfx : 设置图像效果(见注释)。
  • -cfx, -colfx : 设置色彩效果(U:V)。
  • -mm, --metering : 设置测光模式(见注释)。
  • -rot, --rotation : 设置图像旋转(0, 90, 180, 或 270)
  • -hf, --hflip : 设置水平翻转
  • -vf, --vflip : 设置垂直翻转
  • -roi, --roi : 设置感兴趣的区域(x,y,w,d为归一化坐标[0.0-1.0])。
  • -ss, --shutter : 设置快门速度,以微秒为单位。
  • -awbg, --awbgains : 设置AWB增益 --AWB模式必须是关闭的。
  • -drc, --drc : 设置DRC级别(见注释)。
  • -st, -stats : 强制重新计算静态照片采集通道的统计数据。
  • -a, --annotate : 启用/设置注释标志或文本。
  • -3d, --stereo : 选择立体模式
  • -dec, --decimate : 立体图像的一半宽度/高度。
  • -3dswap, --3dswap : 交换摄像机顺序为立体摄像机。
  • -ae, --annotateex : 设置额外的注释参数(文本大小、文本颜色(六角YUV)、bg颜色(六角YUV)、justify、x、y)
  • -ag, --analoggain : 设置模拟增益(浮点)。
  • -dg, --digitalgain : 设置数字增益(浮点)。
  • -set, --settings : 检索摄像机设置并写入stdout。
  • -fw, --focus : 在图像上绘制一个聚焦 FoM 值的窗口。

注释

曝光模式选项 off,auto,night,nightpreview,backlight,spotlight,sports,snow,beach,verylong,fixedfps,antishake,fireworks (关闭,自动,夜间,夜景,背光,聚光灯,运动,雪景,沙滩,长距离,固定帧数,防抖,烟花等。)

闪烁避免模式选项 : off,auto,50hz,60hz (关闭,自动,50赫兹,60赫兹)

AWB模式选项 off,auto,sun,cloud,shade,tungsten,fluorescent,incandescent,flash,horizon,greyworld (关闭,自动,阳光,云彩,阴影,钨丝灯,荧光灯,白炽灯,闪光灯,地平线,灰色世界。)

图像效果模式选项 : none,negative,solarise,sketch,denoise,emboss,oilpaint,hatch,gpen,pastel,watercolour,film,blur,saturation,colourswap,washedout,posterise,colourpoint,colourbalance,cartoon (无,负片,柔光,素描,去噪,浮雕,油彩,阴影,Gpen,粉彩,水彩,胶片,模糊,饱和度,色彩转换,冲淡,海报,色点,色彩平衡,卡通。)