« ウェブカメラ設置 #1 | トップページ | ウェブカメラ設置 #3 »

2007-07-02

ウェブカメラ設置 #2

翌日、画像を見て気がついた。
赤と青が逆転していた。
しかたないので、
ソースをダウンロードして、
修正する事にした。
ちなみに、
調べてみたら、
この問題はstv680の
カメラだけに起きる問題らしいので、
複数のカメラを利用する場合には、
ファイル名を変更するとかで、
stv680用のwebcamと
通常のwebcamを
用意する必要があるかも知れない。
私がインストールしたバージョンは、
3.95だったので、
xawtv homepageの "xawtv 3.x releases" の
"download the source code here."という所から
xawtv-3.95.tar.gz
をダウンロードした。
適当な所にtarボールを展開。
$ tar xzvf xawtv-3.95.tar.gz
consoleディレクトリ内に
webcam.cがある。
$ cd xawtv-3.95/console
539行目辺りの
rotate_image関数の中身。
これが、
最終的な画像処理になるのでしょう。
ここで、画像のRGBを入れ換えます。
現在BGRになっているので、 これをRGBに修正する作業を行います。
561行目辺りに switch (rot) の中身のcase部分、 .webcamrcで[grab]セクションを rotate = 0 のように、0にしているなら、 case 0:の中身を修正します。
将来的な変更の可能性があれば、 0〜3を全て修正します。
修正内容は以下の感じ。
/* STV680用に修正
rotimg[3*(or + i)] = in[3*(ir+1)];
rotimg[3*(or + i)+1] = in[3*(ir+1)+1];
rotimg[3*(or + i)+2] = in[3*(ir+1)+2];
*/

rotimg[3*(or + i)] = in[3*(ir+1)+2];
rotimg[3*(or + i)+1] = in[3*(ir+1)+1];
rotimg[3*(or + i)+2] = in[3*(ir+1)];
case 1: 〜 case 3:
も同じように
代入する値の配列の添字の最後に
加算される値を変更してみてください。
テストしていないので、
case 0:に関してしか動作確認できてません。
で、保存してコンパイルします。
$ cd ../
$ ./configure
$ make
# make install
で、起動してみると、なおっていませんでした。
ん?
make installの出力を見てみると、
/usr/local/binにインストールされていました。
Vine4.1では、
aptでインストールすると
/usr/binに
インストールされるので、
上書きされなかったようです。
しかたないので、
/usr/local/bin内の
ファイル日付を確認しながら、
/usr/binに上書きコピーしました。
これで、色の問題が解決されました。
赤青修正済webcam
蛍光灯の光が原因で、
顔色が悪いのか、
実際に
私の顔色が悪いのだと思っていましたが、
なんとかキチンとした顔色の人間になれました。

|

« ウェブカメラ設置 #1 | トップページ | ウェブカメラ設置 #3 »

Linux」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ウェブカメラ設置 #2:

« ウェブカメラ設置 #1 | トップページ | ウェブカメラ設置 #3 »