MATLAB webcam - eiichiromomma/CVMLAB GitHub Wiki

(MATLAB) webcam

MATLAB 2014a以降からサポートされるUVC (USB Video Class)規格の所謂USBカメラの使い方

Toolboxの追加無しでUSBカメラが使えるようになった。

特徴・注意点

  • USB Webcam Support with MATLAB - Hardware Support - MathWorks 日本 にあるようにWindowsではDirectShowベース、MacではQuickTimeベース、LinuxではV4L2(Video for Linux2)ベースで使える。
  • Toolboxの追加が不要(便利に使うにはImage Processing, Computer Visionが推奨されている)
  • Windowsの場合DirectShowで制御可能なら使えるが、対応が微妙なデバイスを使うと最悪MATLABごと固まる

導入

  1. 上記URLよりサポートパッケージをダウンロードしてインストール (MATHWORKSアカウントが必要)
  2. OSを再起動(Windowsの場合必要だった)
  3. USBカメラを接続(OSで認識されることを確認)
  4. MATLABを起動してwebcamlistでカメラの一覧が出れば成功

簡単な使い方

カメラのリスト

webcamlist

で一覧が出てくるこの順番が重要。

カメラの指定

cam=webcam(1)

でデバイスを取得できる。

プレビュー

取得したデバイスを引数としてpreviewに渡す(helpに出てくる方法)

preview(cam)

また、デバイスのメソッドとして利用可能

cam.preview

で同じくプレビュー表示。

cam.closePreview

でプレビュー終了。

画像の取得

img=snapshot(cam);

でimgへ画像を取得可能。(Helpのやりかた)

img=cam.snapshot;

でも良い。

プロパティの確認

Windows

基本的にDirectShowで用意されているプロパティを弄れる。

>> webcamlist
ans =
'BUFFALO BSW20KM02H Webcam'
>> cam=webcam(1)
cam =
webcam のプロパティ:
Name: 'BUFFALO BSW20KM02H Webcam'
Resolution: '640x480'
AvailableResolutions: {1x8 cell}
Gamma: 100
ExposureMode: 'auto'
WhiteBalance: 6500
Sharpness: 2
WhiteBalanceMode: 'auto'
Saturation: 64
Gain: 0
Contrast: 32
Brightness: 0
Hue: 0
Exposure: -1
Zoom: 0
Focus: 1
Pan: 0
Tilt: 0
FocusMode: 'auto'
BacklightCompensation: 1

Mac

Windowsと比べて設定可能な項目が少ない場合もある。

>> cam
cam = 
webcam のプロパティ:
                 Name: 'BUFFALO BSW20KM02H Webcam'
            Resolution: '1600x1200'
  AvailableResolutions: {'1600x1200'}

解像度の確認

>> cam.availableResolutions
ans =
'640x480' '352x288' '320x240' '176x144' '160x120' '800x600' '1280x960' '1600x1200'

で表示される。

解像度の変更

setメソッドを使う

cam.set('Resolution','1600x1200')

他のプロパティも同様に変更可能(な筈)