"摄像头" (一般操作系统支持的摄像头)
"Camera" 提供与图像设备通信的一般界面,例如,使用操作系统支持的驱动程序的 USB 网络摄像头.
可以使用 $ImagingDevices 或 FindDevices 查找可用摄像头.
发现设备
- FindDevices["Camera"] 列出连接到您的系统的摄像头设备.
- $ImagingDevices 给出可用摄像头的名称列表.
打开设备
- $ImagingDevices 可用于获取摄像头名称列表.
- $DefaultImagingDevice 返回默认摄像头名称.
- $ImagingDevice 给出用于采集图像的图像设备名称.
- 计算 CurrentImage 和 ImageCapture 会自动打开合适的摄像头. Devices 可用于获取相关联的 DeviceObject.
DeviceOpen["Camera"]
打开默认的摄像头.
DeviceOpen["Camera",name]
打开具有特别名称的摄像头.
DeviceOpen["Camera",opts}]
使用指定的选项打开默认的摄像头.
DeviceOpen["Camera",{name,opts}]
使用指定的选项打开具有特别名称的摄像头.
配置设备
- DeviceConfigure 可用于设置摄像头属性,例如:"FrameRate" 和 "RasterSize".
DeviceConfigure[dev,p->v]
设置属性 p 的值为 v.
设备属性
- 可用以下原始属性:
-
"DeviceName" Automatic 摄像头名称 "FrameRate" Automatic 采集的帧率 "RasterSize" Automatic 采集帧的摄像头分辨率 "SupportedCameraResolutions" Automatic 摄像头支持的图像分辨率 "Timeout" Automatic 摄像头自动关闭前的闲置时间 - "FrameRate" 的 Automatic 设置是12帧/秒.
- "RasterSize" 的可能值是 {width,height} 形式.
- "RasterSize" 的 Automatic 设置是 {320,240}.
- 连接的摄像头在 "Timeout" 选项指定的闲置时间后会自动断开. "Timeout" 的 Automatic 设置是 120s. "Timeout" 也可以设置为 Infinity.
读取数据
- Wolfram 语言函数,例如:DeviceReadList 和 DeviceReadLatest 也被支持.
- CurrentImage 可用于获取最近采集的图像.
DeviceRead[dev]
从摄像头中读取单帧,返回一个 Image 对象.
DeviceReadTimeSeries[dev]
读取时间间隔为 dt,t 秒内的帧序列,返回 TimeSeries.
关闭和释放资源
DeviceClose[dev]
停止采集,关闭摄像头连接并释放相关资源.
范例
基本范例 (6)
使用 CurrentImage 自动打开默认的摄像头:
使用 Devices 函数查找相关的 DeviceObject:
用 DeviceClose 关闭摄像头:
用 DeviceConfigure 改变摄像头设置:
使用 DeviceRead 从打开的摄像头抓取图像:
抓取图像的 TimeSeries: