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ごと固まる
導入
- 上記URLよりサポートパッケージをダウンロードしてインストール (MATHWORKSアカウントが必要)
- OSを再起動(Windowsの場合必要だった)
- USBカメラを接続(OSで認識されることを確認)
- 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')
他のプロパティも同様に変更可能(な筈)