[gcc/linux/alpha]
[証券会社で遊ぼう]
[メルセンヌ素数]
[永遠の「bit 1985年4月号」]
[netnewsを読む]
[Twingoに乗ろう]
[バイクに乗っていた頃]
[俺たちのサーキット]
[業界悪魔の辞典]
[UUCPやろうぜ]
[一太郎やーい]
[動け!コンピュータ]
[琴電讃岐うどんの旅]
[2002年11月16日のFUJIC]
[Bnews forever]
[流し撮りMotoGP]
[TC-16AS]
[Nikon DSLR on Unix]
[のら猫]
[56 game hitting streak]
[分散コンピューティングは死んだか]
[Post-it]
[SIGPS]
[Google Log]
[大部屋俳優]
[沖縄 2004]
[沖縄 2008]
[2008/9/11,12,13 reno air race]
[リノ エアレースへ行こう]
[Other Links]
ウエブカメラについて
安価に市販されている usb接続のCMOSウェブカメラは
室内で人物などを撮影するのを目的にされている
ので、日中の空を撮影すると露出オーバーとなって
しまって像が得られないようです。戸外でも撮影
範囲に空が含まれていなければ大丈夫なようです。
逆に暗い被写体には強いので夜間の空を撮影できる
かもしれません。
空を撮影するにはデジタルカメラで usb 接続で
コントロール可能なものが良いようです。
(freebsd で利用可能なものがあるかは不明)
朝夕の空は撮影できる。
CCDのウェブカメラでは
こちらのサイト
でライブカメラをされています。
freebsd で usb 接続の webcam を使う
使ったカメラは、Creative Labs のWEBCAM PLUS。
vid では、OmniVision OV511+ という chip を使ったカメラが使えるようだ。
webcam は、usb 接続するだけで認識される。
kernelの messeage は、
/kernel: ugen0: OmniVision OV511+ Camera, rev 1.00/1.00, addr 2
vid を ports/graphics/vid からインストールする。
/usr/local/bin/vid --device-name=/dev/ugen0 > out.pnm
で、pnm という形式で画像が撮影される。サイズは 640x480。
--small オプションで 320x240 の画像になる。
明るい部分があると撮影毎に露出が不安定で何回かに1回しか綺麗な画像が
得られない。(室内など暗い方は得意だが、ライブカメラなのに空がだめ)
OmniVision OV511+ Cameraを参考に
コードを追加した。
次に pnm の画像を変換するために ports/graphics/netpbm を
インストールする。
pnmscale -xysize 320 240 < in.pnm > out.pnm
でサイズの変更ができる。vid に --small を指定するよりも
良い画像が得られる。
pnmcut -left 320 < in.pnm > out.pnm
で左320dot目からの画像が得られる。
pnmtojpeg < in.pnm > out.jpg
で jpg に変換される。
pamarith -add | -subtract | -multiply | -difference | -minimum | -maximum | -mean | -compare pnmfile1 pnmfile2
マニュアル
ライブカメラには タイムスタンプ がつきものなので、
pnm にテキストを挿入できる ports/graphics/ppmcaption をインストールする。
jpg の場合は、
djpeg in.jpg | \
ppmcaption - - -font helvO14.bdf -scale 0.7 -blur 3 -fg black -bg white \
-pos -10,-10 -right -text '%a, %d-%b-%Y %l:%M:%S %p %Z' | \
cjpeg > out.jpg
で 右下隅に 時刻が入る。
gif アニメを作るために ports/graphics/whirlgif をインストールする。
djpeg -gif in.jpg > out.gif
で gif に変換される。
whirlgif -loop 10 -time 20 in*.gif > out.gif
で in*.gif から 0.2 秒ごとにコマが変わり 10回ループする
アニメーション gif が作られる。
mpeg ファイルを作成するには
$ppmtompeg param
$cat param
PATTERN IBBPBBPBBPBBPBB
OUTPUT ./flowgard.mpg
GOP_SIZE 3
SLICES_PER_FRAME 1
BASE_FILE_FORMAT JPEG
YUV_SIZE 320x240
INPUT_CONVERT *
INPUT_DIR ./
INPUT
webcam.*.jpg [10-99]
END_INPUT
IQSCALE 8
PQSCALE 10
BQSCALE 25
PIXEL HALF
RANGE 10
PSEARCH_ALG LOGARITHMIC
BSEARCH_ALG CROSS2
REFERENCE_FRAME DECODED
この方法では、フレームレート(1秒間のコマ数)がちゃんと設定されない
ようだ。速まわしになってしまう。
$mpeg_encode param
$cat param
PATTERN IBPBIBPBPB
GOP_SIZE 10
SLICES_PER_FRAME 1
PIXEL HALF
RANGE 8
PSEARCH_ALG LOGARITHMIC
BSEARCH_ALG SIMPLE
IQSCALE 8
PQSCALE 10
BQSCALE 25
FRAME_RATE 30
REFERENCE_FRAME ORIGINAL
YUV_SIZE 640x480
OUTPUT webcam.mpg
BASE_FILE_FORMAT PPM
INPUT_CONVERT /usr/local/bin/djpeg *
INPUT_DIR /tmp/webcam
INPUT
webcam.*.jpg [00-99]
END_INPUT
作成した画像
この方法ではフレームレートが設定される。(それでも毎秒30フレーム
だけど。これはmpegの仕様だからしょうがない)
別なカメラalphacam plusも動作した。
テクノハウス東映で、2003年9月に購入。
WEBCAM PLUSより画像はかなり鮮明だが戸外のような明るい対象が苦手なのは同じ。
OV511+ data sheet
OV7620 data sheet
OV511 Downloads
alphacam Downloads