Webカメラで遊ぶための環境セットアップ まとめ

ここまでで、RPi + python2.7 + Webカメラ + OpenCV + VNC という環境ができた。 いつ SDカードが吹っ飛んでもいいように、環境構築方法のまとめをしておく。

基本環境

参考: ラズパイ マガジン 2016年 6月号

書かれているとおりにセットアップ。

  • OS : Jessie
  • ネットワーク : Wi-Fi (DHCP)
  • python : 2.7
  • TightVNC は導入しない。後述の x11vnc を利用しないと OpenCV のウインドウが VNC 経由で見えないため。

VNC

参考: Raspberry Piでリモート操作できるようにするメモ – 1ft-seabass.jp.MEMO

参考: Sakura/VPS/x11vnc - Home Server Journal

vnc server をインストール。

$ sudo apt-get install x11vnc
$ x11vnc -storepasswd

常時起動させる。また、キーリピートをきちんと効かせる。

/home/pi/.config/autostart/x11vnc.desktop 設定ファイルを作成し、以下のように記述。

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
Exec=x11vnc -repeat -usepw -forever -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false

vnc 接続をした際の画面サイズを指定。

/boot/config.txt の中で、以下の2行がコメントアウトされているので、有効化する。

framebuffer_width=1280
framebuffer_height=720

RPi と Windowsクリップボード共有

参考: raspbian - TightVNC copy/paste between local OS and Raspberry Pi? - Raspberry Pi Stack Exchange

autocutsel をインストール。

$ sudo apt-get install autocutsel

autocutsel を X server と同時に起動。

/home/pi/.vnc/xstartup に以下のように1行追加。

#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
autocutsel -fork
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession

Webカメラ

参考: (35連休)4日目:Raspberry Pi(OpenCVのインストール〜リアルタイム顔認識) - hsuetsugu’s diary

USBポートにWebカメラを接続すれば自動認識される。以下のコマンドでUSB認識されたことの確認、およびカメラ映像の確認。

$ lsusb
Bus 001 Device 004: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ sudo apt-get install luvcview 
$ luvcview

OpenCV

参考: (35連休)4日目:Raspberry Pi(OpenCVのインストール〜リアルタイム顔認識) - hsuetsugu’s diary

OpenCV をインストール。

$ sudo apt-get install libopencv-dev
$ sudo apt-get install python-opencv