読者です 読者をやめる 読者になる 読者になる

OpenCVとTightvncサーバー

Raspberry Pi

前回ラズパイのOSのバージョンアップをやって、無事USBカメラが映るようになったのだが、いまいち動きがおかしい。
で、ラズベリーパイのダウンロードサイトに行ってみてみると、NOOBSのバージョンも1.7.0になっている。
この際だから、これまでの設定をチャラにしてもう一度、最新のNOOBSでJessieのインストールのやり直しをしてみた。
microSDカードをフォーマットしてインストールを完了し、日本語フォントをインストールし、
tightvncserver, guvcview, libopencv-dev, python-opencv などをインストールしたところで、ディスクの使用量が3Gちょいとなった。
もちろん、tightVNC経由でguvcviewもちゃんとUSBカメラの画面が表示されている。
気を良くして、OpenCVPythonのプログラムを拾ってきて走らせて見ると、なんかエラーになる。

pi@raspberrypi:~$ python PythonCamera.py
Xlib:  extension "RANDR" missing on display ":1.0".

(camera:1600): GdkGLExt-WARNING **: Window system doesn't support OpenGL.

と、出る。
で、直接、HDMIのディスプレーにつないで同様にやってみると、問題なく映っている。
ちなみに、sudo権限でやってみると

pi@raspberrypi:~$ sudo python PythonCamera.py
Client is not authorized to connect to Server
(camera:1620): Gtk-WARNING **: cannot open display: :1.0

と、メッセージが変わるけどやっぱり映らん。
いろいろ調べていたら、あるサイトで、tightVNCをやめて、x11VNCというのを使うと映ったという記述があったので、即、まねすることにして。

$ sudo apt-get install x11vnc
$ sudo apt-get install xinetd

と、やって、x11VNCをゲット。
これで、もう一度実行すると、なんとか映るようになった。
f:id:manpukukoji:20160227120801j:plain
が、このままだと、デスクトップの画面サイズが変なので、気持ち悪い。
なかなか、修正できなかったんだけど、なんとか、以下のようにすれば良くなるということがわかった。

$ sudo nano /boot/config.txt

以下の部分を修正 (#をはずす)
    #framebuffer_width = 1280
    #framebuffer_height = 720

さて、これでなんとか使えそう。