2008年10月04日

マリンハウスが開いてるかサーバが判断??

みやごじんでは浄土ヶ浜のライブ画像を掲載させてもらっています。
(浄土ヶ浜マリンハウスさんのご協力に感謝ですっ!)
このカメラですが、マリンハウスの建物の中に設置されているために閉店時にはシャッターが下ろされ、画像が真っ暗になってしまいます。
そもそも夜は景色も見えませんので、同じようなものなのですが・・。

この夜の暗い画像をなんとかしたい、、と常々思っていました。
閉店時の暗い画像を出さないように、別の画像に差換えるとかしたい。。
それも、マリンハウスの開店閉店時間でなんとかするという事ではなく、画像の明暗で判断させてみたい。。





みやごじんを公開する直前では、こんなことをやってみてました。

定点観測の画像なのだから明暗の違いで画像ファイルのデータ容量が違うだろうとの仮説を立てました。
過去の画像をさかのぼって調べてみたところ、精度は低いものの何とか閾値を設定して判別させられそうだと思い、チャレンジしてみました。
しかし、実際に機能させてみると真昼間なのに閉店の判断をしてしまったりと結果は散々で使い物になりませんでした。

結局、みやごじんの公開時点では閉店時のライブ画像はまっくらなものをそのまま出す形になりました。
それが、一昨日までの「修正予定」としていたライブカメラのところの説明の内部事情です。


そんなこんなで放置していたのですが、さすがになんとかせねばと思い、一昨日から時間があったのでまじめに考えました。

で、別の方法でなんとか目処が立ったので昨日から試行しています。

何を考えたのか。。

ライブ画像の明暗を判断するのに、色の情報を使ってみることを考えました。
色を判断すると言っても、コンピューターにさせることなのでそういったことをプログラムにさせないと駄目なわけで、そんなことまでWEBプログラミングの範疇でできるのか?と、、その調査から開始です。

みやごじんの裏で動いているサーバ側の処理言語はPHPという言語です。
PHPについては良くも悪くも言われますが、WEBアプリケーションでは広く使われている言語です。
元々がWEBを動的に動かすことを目指して作られた言語です。
これでグラフィック制御がどこまでできるのか?
更に付け加えると、自分は元々が業務システム系のSEで、グラフィック制御とかいわゆるマルチメディアデータのプログラム処理は専門外です。(とりあえず言い訳です)

PHPにはGDというグラフィック処理のライブラリがあります。
ライブ画像に文字を書き込む処理もこれを使ってやっています。
今回もこれでなんとかならないか?と調べました。
座標指定で色のコードが読み取れます。
ということで、これをヒントに画像の明暗を判断させるようにしてみます。

画像の全体を判断の対象にすれば、それはより精度があがるのでしょうけど、それでは処理コストがかかりすぎです。
画像の一部分だけでより正確な判断ができれば、、。

このライブ画像の中で一番明暗が出そうなところを判断に使えば事足りるはず。そう考えて、画像の上端1ピクセル分をサンプリングします。

画像の横幅は320ピクセル。これら320の点すべてについて色コードをR、G、B、の要素に分解して、十進数化して、すべてを合計します。
色のコードは数値が大きいほど明るいということになります。
つまり、合計して出てきた値が大きいほど明るく、小さいほど暗いということが成り立つわけです。

サンプルとして過去の画像から夜のものと昼のものを選び、実際に値を出してみました。結果は予想通りで、値にかなりの差が出ています。
適当なところで、判断基準になる閾値を決め(これはおいらの感覚です。)それで判断するようにプログラム中に仕込みます。
これで果たして上手く動いてくれるか。。。

後は、閾値の調整をしていけばなんとかなるでしょう。

ちなみに、、みやごじんのページはサーバーサイドキャッシュの機能が働いていますので最大約10分はページの内容が切り替わりませんので、画像の明暗判定もその時間間隔に準じます。
(ライブ画像が出ている場合のライブ画像は1分単位で更新されます)


posted by きっちゃん at 06:43| Comment(2) | TrackBack(0) | みやごじん | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
きっちゃん!いつもお世話になっております。

マリンハウスのシャッターを閉めたら、なんと!“青の洞窟”遊覧の広告に...ありがとう!感謝、感謝です。(オイラはチンプンカンプン・・笑)。
Posted by あぶらっこ at 2008年10月11日 17:06
あぶらっこさん
ご無沙汰してます。
すみません。。広告、勝手に出してます!(笑)
仕組みについてはチンプンカンプンで居てください。そうでないと、おいらが飯を食えなくなるので。

しばらく帰省もしてませんが、帰ったら必ず寄らせていただきます。
Posted by きっちゃん at 2008年10月11日 17:17
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。