PTAM
基本的なpackageはyumでインストール
- TooN
- libcvd
- gvars3
はREADMEのバージョンのものをCVSでとってくる。
すべてPTAMをビルドしても動作しない。どうもV4L2の設定に失敗している模様。
そこで libcvd
の解析する progs
に video_play_source
というvideoテストプログラムがあるのでこれでテストする。
使い方:
./video_play_source -mono v4l2:///dev/video0
or
./video_play_source -rgb8 v4l2:///dev/video0
VIDIOC_S_FMT
が失敗して異常終了する。
そこで cvd_src/Linux/v4lbuffer.cc
を解析し V4L2Client
メソッドがYUYVをサポートしていないのを発見。
f.pixelformat == fourcc("YVU9") || + f.pixelformat == fourcc("YUYV"))) { actual_fmt = f.pixelformat; }
こんな感じでYUYVを加えると、とりあえず-monoで絵がでるようになった。ただしゴーストがでる。。
どうもformatの設定がおかしい。
formatはfmt変数が要求のformatでv4l2から検索し存在したら actual_fmt
にセットする。
ただし、grayscale(つまり-mono)では"422P", "YU12", "YV12", "411P", "YUV9", "YVU9"のいずれかを選択できる。
引数に-rgb8を指定するとfmt=RGB4になり、v4l2から探し出せないので actual_fmt
は None
になる。で VIDIOC_S_FMT
に失敗する。
そこで libcvd
をYUYVに対応させるかuvcを他のformatに対応させる必要がある。