CSI摄像头rpicam套件拍照连续拍照拍视频rpicam-still帮助文档motion对于树莓派摄像机简单配置设定开机自动打开motionUSB摄像头fswebcamfswebcam手册页语法配置配置文件全局选项捕获选项输出选项信号已知BUGS
gphoto2不能识别CSI摄像头,树莓派提供rpicam套件进行拍照。
rpicam-still --datetime -n
如果使用 --datetime
选项,会自动按照日期命名照片,但是无法指定文件目录。可以使用 -o
选项指定路径。创建文件 /home/pi/bin/paizhao.sh ,并赋予可执行权限:
filename=`date +%Y%m%d%H%M%S`
folder=`date +%Y%m%d`
rpicam-still -n -o /home/pi/test/$folder/$filename.jpg
此方法会遇到一个问题,需要在生成照片之前确定目录是存在的。创建文件 /home/pi/bin/chuangjianmulu.sh ,并赋予可执行权限:
xxxxxxxxxx
folder=`date +%Y%m%d`
mkdir /home/pi/test/$folder
使用 crontab -e
编辑crontab,加入以下两行:
xxxxxxxxxx
0 0 * * * /home/pi/bin/chuangjianmulu.sh
* * * * * /home/pi/bin/paizhao.sh
第一行,每天凌晨零点创建以当前日期为名称的目录;
第二行,每分钟拍一张照片存入以当前日期为名称的目录中。
rpicam-vid -t 100s -o a100s.1296.972.h264 -n --width=1296 --height=972
$ rpicam-still --help Valid options are:
-h [ --help ] [=arg(=1)] (=0) Print this help message
--version [=arg(=1)] (=0) Displays the build version number
--list-cameras [=arg(=1)] (=0) Lists the available cameras attached to the system.
列出连接到系统的可用摄像头。
--camera arg (=0) Chooses the camera to use. To list the available indexes, use the --list-cameras option.
选择要使用的摄像头。要列出可用索引,请使用 --list-cameras
选项。
-v [ --verbose ] [=arg(=2)] (=1) Set verbosity level. Level 0 is no output, 1 is default, 2 is verbose.
设置详细程度。0
级表示无输出,1
级为默认级别,2
级表示详细输出。
-c [ --config ] [=arg(=config.txt)]
Read the options from a file. If no filename is specified, default to config.txt.
从文件中读取选项。如果未指定文件名,则默认为config.txt。
In case of duplicate options, the ones provided on the command line will be used.
若存在重复选项,则将使用命令行中提供的选项。
Note that the config file must only contain the long form options.
请注意,配置文件必须仅包含长格式选项。
--info-text arg (=#%frame (%fps fps) exp %exp ag %ag dg %dg)
Sets the information string on the titlebar. Available values:
设置标题栏上的信息字符串。可用值:
--width arg (=0) Set the output image width (0 = use default value)
设置输出图像宽度(0 = 使用默认值)
--height arg (=0) Set the output image height (0 = use default value)
设置输出图像高度(0=使用默认值)
-t [ --timeout ] arg (=5sec) Time for which program runs. If no units are provided default to ms.
程序运行的时间。如果没有提供单位,则默认为ms。
-o [ --output ] arg Set the output file name
设置输出文件名
--post-process-file arg Set the file name for configuring the post-processing
设置用于配置后处理的文件名
--post-process-libs arg Set a custom location for the post-processing library .so files
为后处理库.so文件设置自定义位置
-n [ --nopreview ] [=arg(=1)] (=0) Do not show a preview window
不显示预览窗口
-p [ --preview ] arg (=0,0,0,0) Set the preview window dimensions, given as x,y,width,height e.g. 0,0,640,480
设置预览窗口尺寸,如x、y、宽度、高度,例如0,0,640,480
-f [ --fullscreen ] [=arg(=1)] (=0) Use a fullscreen preview window
使用全屏预览窗口
--qt-preview [=arg(=1)] (=0) Use Qt-based preview window (WARNING: causes heavy CPU load, fullscreen not supported)
使用基于Qt的预览窗口(警告:导致CPU负载过重,不支持全屏)
--preview-libs arg Set a custom location for the preview library .so files
为预览库.so文件设置自定义位置
--hflip [=arg(=1)] (=0) Request a horizontal flip transform
请求水平翻转变换
--vflip [=arg(=1)] (=0) Request a vertical flip transform
请求垂直翻转变换
--rotation arg (=0) Request an image rotation, 0 or 180
请求图像旋转,0或180
--roi arg (=0,0,0,0) Set region of interest (digital zoom) e.g. 0.25,0.25,0.5,0.5
设置感兴趣的区域(数字变焦),例如0.25,0.25,0.5,0.5
--shutter arg (=0) Set a fixed shutter speed. If no units are provided default to us
设置固定快门速度。如果没有提供默认单位为微秒(us)
--analoggain arg (=0) Set a fixed gain value (synonym for 'gain' option)
设置固定增益值(“增益”选项的同义词)
--gain arg Set a fixed gain value
设置固定增益值
--metering arg (=centre) Set the metering mode (centre, spot, average, custom)
设置计量模式(中心、点、平均、自定义)
--exposure arg (=normal) Set the exposure mode (normal, sport)
设置曝光模式(正常、运动)
--ev arg (=0) Set the EV exposure compensation, where 0 = no change
设置EV曝光补偿,其中0=无变化
--awb arg (=auto) Set the AWB mode (auto, incandescent, tungsten, fluorescent, indoor, daylight, cloudy, custom)
设置AWB模式(自动、白炽灯、钨丝灯、荧光灯、室内、日光、阴天、自定义)
--awbgains arg (=0,0) Set explict red and blue gains (disable the automatic AWB algorithm)
设置明确的红色和蓝色增益(禁用自动AWB算法)
--flush [=arg(=1)] (=0) Flush output data as soon as possible
尽快刷新输出数据
--wrap arg (=0) When writing multiple output files, reset the counter when it reaches this number
写入多个输出文件时,当计数器达到此数字时重置计数器
--brightness arg (=0) Adjust the brightness of the output images, in the range -1.0 to 1.0
在-1.0到1.0的范围内调整输出图像的亮度
--contrast arg (=1) Adjust the contrast of the output image, where 1.0 = normal contrast
调整输出图像的对比度,其中1.0=正常对比度
--saturation arg (=1) Adjust the colour saturation of the output, where 1.0 = normal and 0.0 = greyscale
调整输出的颜色饱和度,其中1.0=正常,0.0=灰度
--sharpness arg (=1) Adjust the sharpness of the output image, where 1.0 = normal sharpening
调整输出图像的锐度,其中1.0=正常锐化
--framerate arg (=-1) Set the fixed framerate for preview and video modes
设置预览和视频模式的固定帧率
--denoise arg (=auto) Sets the Denoise operating mode: auto, off, cdn_off, cdn_fast, cdn_hq
设置降噪操作模式:自动、关闭、cdn_off、cdn_fast、cdn_hq
--viewfinder-width arg (=0) Width of viewfinder frames from the camera (distinct from the preview window size)
相机取景器框的宽度(与预览窗口大小不同)
--viewfinder-height arg (=0) Height of viewfinder frames from the camera (distinct from the preview window size)
取景器框距相机的高度(与预览窗口大小不同)
--tuning-file arg (=-) Name of camera tuning file to use, omit this option for libcamera default behaviour
要使用的相机调整文件的名称,对于libcamera默认行为省略此选项
--lores-width arg (=0) Width of low resolution frames (use 0 to omit low resolution stream)
低分辨率帧的宽度(使用0忽略低分辨率流)
--lores-height arg (=0) Height of low resolution frames (use 0 to omit low resolution stream)
低分辨率帧的高度(使用0忽略低分辨率流)
--lores-par [=arg(=1)] (=0) Preserve the pixel aspect ratio of the low res image (where possible) by applying a different crop on the stream.
通过在流上应用不同的裁剪来保持低分辨率图像的像素纵横比(如果可能)。
--mode arg Camera mode as W:H:bit-depth:packing, where packing is P (packed) or U (unpacked)
相机模式为W:H:位深度:打包,其中打包为P(打包)或U(未打包)
--viewfinder-mode arg Camera mode for preview as W:H:bit-depth:packing, where packing is P (packed) or U (unpacked)
用于预览的相机模式为W:H:位深度:打包,其中打包为P(打包)或U(未打包)
--buffer-count arg (=0) Number of in-flight requests (and buffers) configured for video, raw, and still.
为视频、原始和静止配置的正在处理的请求(和缓冲区)数量。
--viewfinder-buffer-count arg (=0) Number of in-flight requests (and buffers) configured for preview window.
为预览窗口配置的正在处理的请求(和缓冲区)数量。
--no-raw [=arg(=1)] (=0) Disable requesting of a RAW stream. Will override any manual mode reqest the mode choice when setting framerate.
禁止请求RAW流。设置帧率时,将覆盖任何手动模式要求的模式选择。
--autofocus-mode arg (=default) Control to set the mode of the AF (autofocus) algorithm.(manual, auto, continuous)
控制以设置AF(自动对焦)算法的模式。(手动、自动、连续)
--autofocus-range arg (=normal) Set the range of focus distances that is scanned.(normal, macro, full)
设置扫描的焦距范围。(正常、微距、全景)
--autofocus-speed arg (=normal)
Control that determines whether the AF algorithm is to move the lens as quickly as possible or more steadily.(normal, fast)
确定AF算法是尽可能快地移动镜头还是更稳定地移动镜头的控制。(正常、快速)
--autofocus-window arg (=0,0,0,0) Sets AfMetering to AfMeteringWindows an set region used, e.g. 0.25,0.25,0.5,0.5
将AfMetering设置为AfMetering窗口并设置使用的区域,例如0.25,0.25,0.5,0.5
--lens-position arg
Set the lens to a particular focus position, expressed as a reciprocal distance (0 moves the lens to infinity),
将镜头设置到特定的焦点位置,表示为倒数距离(0将镜头移动到无限远),
or "default" for the hyperfocal distance
或超焦距的“默认值”
--hdr [=arg(=auto)] (=off)
Enable High Dynamic Range, where supported.
在支持的情况下启用高动态范围。
Available values are "off", "auto", "sensor" for sensor HDR (e.g. for Camera Module 3), "single-exp" for PiSP based single exposure multiframe HDR
可用值包括“关闭”、“自动”、传感器HDR的“传感器”(例如相机模块3)、基于PiSP的单曝光多帧HDR的“单exp”
--metadata arg Save captured image metadata to a file or "-" for stdout
将捕获的图像元数据保存到文件或stdout的“-”
--metadata-format arg (=json) Format to save the metadata in, either txt or json (requires --metadata)
保存元数据的格式,txt或json(需要--metadata)
--flicker-period arg (=0s) Manual flicker correction period Set to 10000us to cancel 50Hz flicker. Set to 8333us to cancel 60Hz flicker.
手动闪烁校正周期设置为10000us以消除50Hz的闪烁。设置为8333us以取消60Hz闪烁。
-q [ --quality ] arg (=93) Set the JPEG quality parameter
设置JPEG质量参数
-x [ --exif ] arg Add these extra EXIF tags to the output file
将这些额外的EXIF标签添加到输出文件中
--timelapse arg (=0ms) Time interval between timelapse captures. If no units are provided default to ms.
延时拍摄之间的时间间隔。如果没有提供单位,则默认为ms。
--framestart arg (=0) Initial frame counter value for timelapse captures
延时拍摄的初始帧计数器值
--datetime [=arg(=1)] (=0) Use date format for output file names
输出文件名使用日期格式
--timestamp [=arg(=1)] (=0) Use system timestamps for output file names
使用系统时间戳作为输出文件名
--restart arg (=0) Set JPEG restart interval
设置JPEG重新启动间隔
-k [ --keypress ] [=arg(=1)] (=0) Perform capture when ENTER pressed
按下ENTER键时执行捕获
-s [ --signal ] [=arg(=1)] (=0) Perform capture when signal received
收到信号时执行捕获
--thumb arg (=320:240:70) Set thumbnail parameters as width:height:quality, or none
将缩略图参数设置为width:height:quality或无
-e [ --encoding ] arg (=jpg) Set the desired output encoding, either jpg, png, rgb/rgb24, rgb48, bmp or yuv420
设置所需的输出编码,jpg、png、rgb/rgb24、rgb48、bmp或yuv420
-r [ --raw ] [=arg(=1)] (=0) Also save raw file in DNG format
同时以DNG格式保存原始文件
--latest arg Create a symbolic link with this name to most recent saved file
使用此名称创建指向最新保存文件的符号链接
--immediate [=arg(=1)] (=0) Perform first capture immediately, with no preview phase
立即执行第一次捕获,无需预览阶段
--autofocus-on-capture [=arg(=1)] (=0)
Switch to AfModeAuto and trigger a scan just before capturing a still
切换到AfModeAuto并在捕捉静止图像之前触发扫描
--zsl [=arg(=1)] (=0) Switch to AfModeAuto and trigger a scan just before capturing a still
切换到AfModeAuto并在捕捉静止图像之前触发扫描
motion是一个用于监控来自多种类型摄像机的视频信号的程序,可根据其配置方式在检测到移动时执行操作。
功能如下:
适用于以下类型的设备:
【以下内容来自Motion官方文档】
在基于Debian发行版 bullseye(或更高版本)的Raspbian版本中,Raspbian允许通过名为 libcamera
的应用程序访问Pi相机。
libcamera
作为 v4l2 设备提供对相机的访问,但此接口仅在使用特殊应用程序时可用。用户必须使用命令 libcamerify motion
运行 Motion,然后在 Motion配置文件中指定 /dev/video0 。
对于 bullseye 之前的Raspbian版本,PI相机可以设置为两种不同的方式。如果使用apt软件包安装Motion(例如 apt-get install motion
),则必须使用 bcm2835-v4l2
模块设置摄像头,该模块为摄像头创建一个v4l2设备。用户需要使用命令 sudo modprobe bcm2835-v4l2
安装此模块。这将把相机设置为普通的v4l2设备,可以通过标准的 /dev/videoX 设备访问。如果Motion是从源代码构建的,或者是通过项目发布页面上的deb包安装的,那么另一个选项是使用 mmalcam_name
参数或使用bcm2835-v4l2模块设置摄像头。当通过apt安装Motion时,mmalcam选项不可用。已经注意到,通过启用传统相机堆栈,这种访问PI相机的历史方法可能在较新版本中可用,但尚不清楚这种方法将被允许多久。
Motion的配置文件位于 /etc/motion 目录中,需要关注以下几个参数:
xtarget_dir /home/lidapeng/motion
webcontrol_localhost off
webcontrol_ipv6 on
webcontrol_auth_method 1
webcontrol_authentication lidapeng:123456
webcontrol_tls on
webcontrol_cert /etc/letsencrypt/live/p3b.dapeng.li/cert.pem
webcontrol_key /etc/letsencrypt/live/p3b.dapeng.li/privkey.pem
stream_localhost off
stream_auth_method 1
stream_authentication lidapeng:123456
stream_tls on
试了几种方法都不行,最后使用crontab解决:
xxxxxxxxxx
@reboot sudo libcamerify motion
rpicam仅能读取CSI摄像头。
motion可以读取CSI摄像头和USB摄像头,需要更改motion.conf文件,在文件尾部有设备列表,形如以下:
xxxxxxxxxx
##############################################################
# Camera config files - One for each camera.
##############################################################
; camera /usr/etc/motion/camera1.conf
; camera /usr/etc/motion/camera2.conf
; camera /usr/etc/motion/camera3.conf
; camera /usr/etc/motion/camera4.conf
camera /etc/motion/camera4-0.conf
camera /etc/motion/camera4-1.conf
然后创建 /etc/motion/camera4-0.conf 和 /etc/motion/camera4-1.conf ,内容大致如下:
xxxxxxxxxx
###########################################################
# Configuration options specific to camera 4
############################################################
# User defined name for the camera.
# 此处设置摄像头的名称,以示区别
camera_name CSI
# Numeric identifier for the camera.
camera_id 104
# Video device (e.g. /dev/video0) to be used for capturing.
# 此处指定对应的摄像头,一般CSI为/dev/video0,USB为/dev/video1
video_device /dev/video0
# Image width in pixels.
width 640
# Image height in pixels.
height 480
但motion默认仅记录发生变化的场景,对于变化不大的情况并不会进行录像和拍照,并不大适合做延时摄影。
fswebcam是一款适用于*nix的小型简单网络摄像头应用程序。它可以从许多不同的来源捕获图像,并对捕获的图像执行简单的操作。图像可以保存为一个或多个PNG或JPEG文件。
可以使用文件名“-”将PNG或JPEG图像发送到stdio。输出文件名由strftime格式化。
一个示例:
xxxxxxxxxx
DATE=$(date +%Y-%m-%H-%M)
fswebcam -d /dev/video0 --no-banner -r 1280x960 /home/pi/$DATE.jpg
fswebcam [<options>] <filename> [[<options>] <filename> ...]
配置文件使用没有“--”前缀的长版本选项。注释在行的开头以#符号开头。
-?,--help
显示使用情况摘要。
-c,--config
从文件中加载选项。您可以加载多个配置文件,并可以将它们与命令行参数混合。
注意:不能从配置文件中使用此选项。
-q,--quiet
隐藏除错误之外的所有消息。
-v,--verbose
在捕获过程中打印额外信息。
--version
打印版本号然后退出。
-l,--loop <frequency>
连续捕获图像。图像之间的时间以秒为单位指定。
默认行为是捕获单个图像并退出。
注意:捕获下一个图像的时间是相对于历元计算的,因此在程序首次启动时不会立即捕获图像。
--offset <seconds>
设置当下一个图像在循环模式下到期时计算时使用的偏移。值可以是正的,也可以是负的。
-b,--background
在后台运行。在此模式下,标准输出和控制台日志记录不可用。
--pid <filename>
将后台进程的PID保存到指定的文件。不使用 background
模式时忽略。
--log [file/syslog:]<filename>
将日志消息重定向到文件或系统日志。例如
--gmt
使用strftime格式化文本时,请使用GMT而不是本地时区。
-d,--device [<prefix>:]<device name>
设置要使用的源或设备。除非在前缀(prefix)中指定,否则将自动选择源模块。
默认是 /dev/video0。
可用的源模块,按优先顺序:
-i,--input <input number or name>
设置要使用的输入。您可以通过输入的编号或名称来选择输入。
默认值为“0”。
--list-inputs
列出所选源或设备的可用输入。
xxxxxxxxxx
fswebcam -d v4l2:/dev/video1 --list-inputs
-t,tuner <tuner number>
设置要使用的调谐器。
-f,--frequency <frequency>
设置所选输入或调谐器的频率。根据输入或调谐器,该值可以读取为KHz或MHz。
-p,--palette <name>
拍摄图像时,请尝试使用指定的图像格式。
默认为自动选择一个。
支持的格式:
PNG JPEG MJPEG S561 RGB32 RGB24 BGR32 BGR24 YUYV UYVY YUV420P BAYER SGBRG8 SGRBG8 RGB565 RGB555 Y16 GREY
-r,--resolution <dimensions>
设置源或设备的图像分辨率。如果源或设备无法以指定的分辨率捕获,则使用的实际分辨率可能不同。
默认值为“384x288”。
--fps <frames per second>
设置捕获设备的帧速率。这目前仅适用于某些V4L2设备。
默认值为“0”,由设备决定。
-F,--frames <number>
设置要捕获的帧数。更多的帧意味着最终图像中的噪波更少,然而捕获时间将更长,并且移动的对象可能看起来模糊。
默认值为“1”。
-S,--skip <number>
设置要跳过的帧数。这些帧将被捕获,但不会被使用。如果相机在首次开始拍摄时发送了一些错误或损坏的帧,请使用此选项。
默认值为“0”。
-D,--delay <delay>
在源或设备打开并初始化后,以及捕获开始之前插入延迟。一些设备需要此延迟,以便在设置更改后使图像稳定下来。延迟时间以秒为单位指定。
-R,--read
使用read()捕获图像。对于某些设备,这可能较慢,但更稳定。
默认情况下,使用mmap(),如果mmap()不可用,则返回read()。
-s,--set <name=value>
设置控件。这些由源模块用于控制图像或设备参数。数值可以表示为最大范围的百分比或文字值,例如:
xxxxxxxxxx
--set brightness=50% --set framerate=5
还支持非数字控件:
xxxxxxxxxx
--set lights=on
V4L2具有一种称为“按钮”的控件。这些控件不采用任何值,但会触发操作。例如:
xxxxxxxxxx
--set "Restore Factory Settings"
控件名称和值不区分大小写。
注:可用的控件将因所使用的源模块和设备而异。有关详细信息,请参阅 --list controls
选项。
--list-controls
列出所选源模块和设备的可用控件及其当前值。例如:
xxxxxxxxxx
fswebcam -d v4l2:/dev/video2 --list-controls
这些选项按它们在命令行上的显示顺序执行,仅影响稍后在命令行中输出的图像。例如:
xxxxxxxxxx
fswebcam -r 640x480 output1.jpeg --scale 320x240 output2.jpeg
将创建两个图像,“output1.jpeg”包含捕获图像的全分辨率副本,“output 2.jpeg”包括相同的捕获图像,但缩放到一半大小。
--no-banner
禁用横幅。
--top-banner
将横幅放在图像的顶部。
--bottom-banner
将横幅放在图像的底部。
这是默认设置。
--banner-coloer <#AARRGGBB>
设置横幅的颜色。使用web样式的十六进制格式(#RRGGBB)来描述颜色,并且可以支持alpha通道(#AARRGGBB)。示例:
"#FF0000" 是红色
"#80000000" 是半透明的黑色。
"#FF000000" 不可见(alpha通道处于最大值)。
默认值是 "#40263A93"。
--line-colour <#AARRGGBB>
设置分隔线的颜色。有关详细信息,请参阅 --banner-colour
。
默认值是 "#00FF0000"。
--text-colour <#AARRGGBB>
设置文本的颜色。有关详细信息,请参阅 --banner-colour
。
默认值为 “#00FFFFFF”。
--font <[file or font name]:[font size]>
设置横幅中使用的字体。如果未指定路径,则搜索 GDFONTPATH
环境变量中的路径以查找字体。如果GD库支持,也可以使用Fontconfig名称。
如果未指定字体大小,则将使用默认值“10”。
默认值为“sans:10”。
--no-shadow
禁用文本阴影。
--shadow
启用文本阴影。
这是默认行为。
--title <text>
设置位于横幅左上角的主文本。
--no-title
清除主文本。
--subtitle <text>
设置位于横幅左下角的子标题文本。
--no-subtitle
清除子标题文本。
--timestamp <text>
设置位于横幅右上角的时间戳文本。此字符串由strftime格式化。
默认为 "%Y-%m-%d %H:%M (%Z)"。
--no-timestamp
清除时间戳文本。
--info <text>
设置位于横幅右下角的信息文本。
--no-info
清除信息文本。
--underlay <filename>
加载PNG图像并将其覆盖在横幅下方的图像上。图像左上对齐。
注:参考底图仅在保存图像时应用,不会被任何图像选项或效果修改。
--no-underlay
清除参考底图图像。
--overlay <filename>
加载PNG图像并覆盖在横幅上方的图像上。图像左上对齐。
注意:覆盖仅在保存图像时应用,不会被任何图像选项或效果修改。
--no-overlay
删除覆盖图像。
--jpeg <factor>
将JPEG设置为输出图像格式。压缩因子是介于0和95之间的值,或 -1
表示自动。
这是默认格式,因子为“-1”。
--png <factor>
将PNG设置为输出图像格式。压缩因子可以是介于0和9之间的值,或者 -1
表示自动。
--save <filename>
将图像保存为指定的文件名。
注意:这在命令行上是不必要的,其中仅文件名就足以保存图像。
--revert
还原为原始捕获的图像和分辨率。这将撤消图像上以前的所有效果。
注意:这仅恢复图像本身,而不恢复字体、颜色和覆盖等选项。
--flip <direction[,direction]>
翻转图像。方向可以是(h)水平或(v)垂直。示例:
--crop <dimensions[,offset]>
裁剪图像。如果没有偏移,裁剪的区域将是图像的中心。示例:
--scale <dimensions>
缩放图像。
示例:“--scale 640x480” 将图像向上或向下缩放到640x480。
注意:不保持图像的纵横比。
--rotate <angle>
以直角(90、180和270度)旋转图像。
注意:将图像旋转90或270度将交换尺寸。
--deinterlace
将一个简单的解交错器应用于图像。
--invert
反转图像中的所有颜色,创建负片。
--greyscale
从图像中删除所有颜色。
--swapchannels <c1c2>
交换颜色通道c1和c2。有效通道为R、G和B——分别用于红色、绿色和蓝色通道。
示例:“--swapchannels RB”将交换红色和蓝色通道。
--exec <command>
执行指定的命令并等待其完成,然后继续。命令行由strftime格式化。
SIGHUP这会导致fswebcam重新加载其配置。
SIGUSR1 使fswebcam立即捕获图像,而无需在循环模式中等待计时器。
字母之间的间距可能不正确。这是GD库的一个问题。