LoginSignup
1
4

More than 5 years have passed since last update.

DroidCamでAndroidカメラの映像を取得してOpenCVで使用した

Last updated at Posted at 2017-03-28

DroidCamでAndroidカメラの映像を取得してOpenCVで使用できるようにしました。

環境

  • OS: ArchLinux 64bit
  • シェル: zsh
  • 言語: Python 3.6.0
  • ライブラリ: OpenCV 3.2

AndroidにDroidCamをインストール

Google Playで最新のDroidCamをインストールしました。

ArchLinuxにDroidCamをインストール

DroidCam 公式ページを参考にして、最新のDroidCamをインストールしました。

v4l2loopback周りの設定

$ yaourt -S v4l2ucp v4l-utils
$ sudo modprobe v4l2loopback_dc

v4l2関連のパッケージをインストールしてからv4l2loopback_dcモジュールを有効にしました。

環境変数の設定

zshrc
export LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so

このままOpenCVからDroidCamの入力を読もうとすると、ピクセル形式がサポートされていないというメッセージが表示されました。そのため、アプリケーション実行前にv4l2convert.soを読み込ませるようにしました。

動作確認

input.png

result.png

main.py
from cv2 import VideoCapture, imshow, waitKey


def main():
    video = VideoCapture(0)

    while video.isOpened():
        result, frame = video.read()

        if not result:
            break

        imshow("Input", frame)
        imshow("Inverse", 255 - frame)

        if waitKey(16) & 0xff == ord("q"):
            break


if __name__ == "__main__":
    main()

DroidCamからの入力画像の色を反転しました。

参考文献

  1. Webcam setup - ArchWiki
1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4