GalaxyNote3 をPCからUSBカメラとして使う

今手元にあるPCにはカメラが付いていない。
なので、Androidスマホである GalaxyNote3 をUSBカメラとして使えるか試してみる。

Androidスマホ内蔵カメラをパソコン用の「Webカメラ」として使おう:「DroidCam」(開発者:Dev47Apps)』
http://pc.nikkeibp.co.jp/article/special/20130625/1095722/?P=2

↑ここで紹介されている、 DroidCam を試してみたが、フツーにUSBカメラとして使えて、 USB接続の GalaxyNote3 のカメラで取り込んだ映像を ruby-opencv で処理できた。

【手順】
1. GlaxyNote3 で Googleプレイを検索、「DroidCam」をインストール。
2. DroidCam Client v5.0.1 を PC にインストール。
http://www.dev47apps.com/droidcam/windows/
3. SAMSUNGのサイトから、USBドライバーをインストール。(下記ページの「Download for Others」から「KIESとテザリング機能のUSB DRIVER」をクリックしてDL、インストール)
http://www.samsung.com/jp/support/usefulsoftware/KIES/
4. GalaxyNote3 の設定画面で「開発者オプション」を開き、「USBデバッグ」にチェック。
(必にならば「ビルド番号」7回タップで開発者オプションが表示される様にしておいて)
5. GalaxyNote3 をPCにUSB接続して、 DroidCam を起動。
6. PC側で DroidCam Client を起動、接続モードをUSBにして「Start」を押す。

下記コードを引数無しで起動して、例外も起きずにカメラ映像が表示されるのを確認。

require 'opencv'
include OpenCV
captureDevice = 0
if ARGV.size > 1
  captureDevice = ARGV.shift
  captureDevice = captureDevice.to_i if /^\d$/ =~ captureDevice
end
win = GUI::Window.new("win")
cap = CvCapture.open(captureDevice)
puts cap.fps
if cap.fps > 67 or cap.fps < 5 # 変なfpsの時は10fps(100msec間隔)にする
  frame_msec = 100
else
  frame_msec = 1000/cap.fps
end
loop do
  img = cap.query
  break unless img
  win.show img
  c = GUI::wait_key(frame_msec)
  break if c == 27 # [ESC]で終了 #
end