"カメラ" (OSにサポートされる汎用カメラ)

"Camera"は,オペレーティングシステムがサポートするドライバを使って,USBのWebカメラ等の画像処理デバイスと交信するための一般的なインターフェースを提供する.

画像処理デバイスは,組込みのものでも,USBやファイアウォール等を通して接続するものでもよい.

$ImagingDevicesまたはFindDevicesを使うと,使用可能なカメラを見付けることができる.

デバイス発見

  • FindDevices["Camera"]は,使用中のシステムに接続されているカメラデバイスをリストする.
  • $ImagingDevicesは,使用できるカメラの名前のリストを与える.

デバイスを開く

    DeviceOpen["Camera"]

    デフォルトのカメラを開く.

    DeviceOpen["Camera",name]

    指定の名前が付いたカメラを開く.

    DeviceOpen["Camera",opts}]

    指定のオプションを使ってデフォルトのカメラを開く.

    DeviceOpen["Camera",{name,opts}]

    指定のオプションを使って,指定の名前が付いたカメラを開く.

  • $ImagingDevicesは,カメラの名前のリストを得るために使うことができる.
  • $DefaultImagingDeviceは,デフォルトのカメラの名前を返す.
  • $ImagingDeviceは,画像を撮るために使う画像処理デバイスの名前を返す.
  • CurrentImageImageCaptureを評価すると,自動的に適切なカメラが開く.Devicesを使って関連のDeviceObjectを得ることができる.

デバイスの設定

    DeviceConfigure[dev,p->v]

    特性 p を値 v に設定する.

  • DeviceConfigureを使って"FrameRate""RasterSize"等のカメラの特性を設定することができる.

デバイスの特性

  • 以下のネイティブの特性を使用することができる.
  • "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に設定することもできる.

データの読取り

リソースの終了と解放

    DeviceClose[dev]

    キャプチャを停止し,カメラ接続を閉じて,関連リソースを解放する.

例題

  (6)

デフォルト設定を使ってデフォルトのカメラを開く:

デバイスを閉じる:

CurrentImageを使ってデフォルトのカメラを自動的に開く:

Devices関数を使って,関連のDeviceObjectを求める:

DeviceCloseを使ってカメラを閉じる:

指定のカメラを開く:

パラメータで指定のカメラを開く:

デバイスの特性を設定して,カメラ設定を変更する:

DeviceConfigureを使ってカメラ設定を変更する:

DeviceReadを使って,開いたカメラからの画像を捉える:

画像のTimeSeriesを捉える: