"カメラ" (OSにサポートされる汎用カメラ)
"Camera"は,オペレーティングシステムがサポートするドライバを使って,USBのWebカメラ等の画像処理デバイスと交信するための一般的なインターフェースを提供する.
画像処理デバイスは,組込みのものでも,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設定は,1秒間に12フレームである.
- "RasterSize"に可能な値は,形式{width,height}のものである.
- "RasterSize"のAutomatic設定は,{320,240}である.
- "Timeout"オプションで指定されている時間だけアイドルのままにされた接続カメラは,自動的に接続を解かれる. "Timeout"のAutomatic設定は,120秒に相当する."Timeout"は,Infinityに設定することもできる.
データの読取り
- DeviceReadList,DeviceReadLatest等のWolfram言語関数もサポートされている.
- CurrentImageは,捉えられた最新の画像を得るのに使える.
DeviceRead[dev]
カメラから単一フレームを読み取り,Imageオブジェクトを返す.
DeviceReadTimeSeries[dev]
一連のフレームを t 秒間,時間区間 dt で読み取り,TimeSeriesを返す.
リソースの終了と解放
DeviceClose[dev]
キャプチャを停止し,カメラ接続を閉じて,関連リソースを解放する.
例題
例 (6)
CurrentImageを使ってデフォルトのカメラを自動的に開く:
Devices関数を使って,関連のDeviceObjectを求める:
DeviceCloseを使ってカメラを閉じる:
DeviceConfigureを使ってカメラ設定を変更する:
DeviceReadを使って,開いたカメラからの画像を捉える:
画像のTimeSeriesを捉える: