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