HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(その3) #RaspberryPi #PiCamera #Python

前回は明るさの異なる5枚の写真を撮影しましたが、今回はHDR画像とタイムラプス動画を作成します。

タイムラプス動画の作成には、ffmpegを利用します。

ffmpegは出来れば、ハードウェアエンコーダ(h264_omx)が使える方がより良いです。

OpenCVのHDRの作成方法には「Debvec」「Robertson」「Mertenes」の3パターンがあります。

今回は、露光時間が不要な「Mertenes」を利用します。

出来れば、露光時間を与えた方がより良い結果になるそうですが、十分、綺麗だったので、今回は露光時間は渡していません。

“HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(その3) #RaspberryPi #PiCamera #Python” の続きを読む

HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(その2) #RaspberryPi #PiCamera #Python

前回から間が空いてしまいましたが、露出を変えて連続で撮影する処理を作成します。

Pythonのfor文でループしつつ、露出を変えて何度も撮影するプログラムを、試作しましたが、

思った様に明るさが変わらないので、試行錯誤した結果、撮影だけのプログラムを別途作成し、別のPythonプログラムからパラメータを変えて連続で呼び出して、

明るさの異なる写真を5枚、取得する様にしました。

明るさが変わらない理由は不明で、シャッター速度・ISO感度を変更してsleep(2〜10秒)しても、2回目以降のループで明るさが変わらなくなります。

しかも、露出補正レベル(exposure_compensation)に関しては、1回目のループでも全く効果がありません。。。。

公式のドキュメントも確認しましたが、露出補正レベル、シャッター速度、ISO感度の使い方は間違っていない様です。

気持ち悪いですが、前述の様にPythonのプロセスを別にすれば、シャッター速度・ISO感度の変更が効いていたので、

撮影とプロセスを別にしました。

“HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(その2) #RaspberryPi #PiCamera #Python” の続きを読む

HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(その1) #RaspberryPi #PiCamera #Python

我が家では、RaspberryPiにHomebridgeをインストールし、PiCameraを使って愛兎の様子を外出先でも見れる様にしています。

この方法は欠点があって、何故かHomebridgeが高頻度で「応答なし」になりますし、過去の様子が見れません。

(嫁のiPhoneはあまり応答なしにならないそうです、、、)

それに画質もあまり良く無いので、小さい生き物の様子をみるにはちょっと不十分ですし、たまたま部屋の暗いところに愛兎がいると、画質が悪いのと相乗効果であまり良く見えません。

そこで、ちょっと前からiPhoneなどスマートフォンで、白飛びや黒つぶれが少ないHDRの写真が撮れますが、

OpenCVでも簡単にHDR写真が作れるそうなので、試してみました。

今回は「その1」ということで、PythonにOpenCVやpicameraなど、必要モジュールのインストールと静止画の撮影を行いました。

“HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(その1) #RaspberryPi #PiCamera #Python” の続きを読む

#Tinkerboard にオンラインIDEをインストール #eclipse #Che #Docker #iPad

iPad上でIDEを使ったプログラミングがしたい!人向けです。

Docker版のeclipse Cheが公開されてますが、
armに非対応で、Tinkerboardへのインストールに失敗します。

今回は仕方がないので、eclipse Cheの本体をそのままインストールしました。

“#Tinkerboard にオンラインIDEをインストール #eclipse #Che #Docker #iPad” の続きを読む

ボタンのSubmitで処理分岐 #Struts #Java

input type="submit"は、valueが表示と値(value)を兼ねているので、

表示される日本語を含む文字が、サーバ側に送信されます。

そのため、日本語でどのボタンが押下されたか判別する必要がありました。

(別途、非表示の値をJavaScriptで修正してSubmitする方法もあります。)

最近のブラウザのbuttonタグでは、サーバへ送信する値(value)とラベルの定義(タグの内容)が完全に別けられており、

ボタンの定義だけで、日本語を含む文字の判定が不要になります。

“ボタンのSubmitで処理分岐 #Struts #Java” の続きを読む

#Homebrige で #iOS デバイスに部屋の温湿度を配信 #RaspberryPi

Homebridgeを使って、Homekit(iPhone、iPad)上で温湿度を表示できるプラグイン(homebridge-temper)を作成しました。

Mojaveからは、Macでも表示できるので、楽しみです!

今までは、Homebridgeのカメラで温度計を写して、外出先から確認したりしてたので、

すごく、確認に手間が掛かりますし、見づらいし面倒です。。。

“#Homebrige で #iOS デバイスに部屋の温湿度を配信 #RaspberryPi” の続きを読む

ダウンロード開始の検出 #Java #JQuery

サーバサイドで、巨大なExcelファイル(Apache POI利用)を長時間作成するので、
ダウンロードの開始を画面で検知し、処理中の状態を表示できるようにしました。

ServletとJQueryでCookieをやり取りするレガシーな処理です。
Cookieはダウンロードするファイルと一緒に、レスポンス(Header)として返す事ができます。

ダウンロード中に表示されるプログレスボタンは、JQuery-UIのプログレスを想定しています。

“ダウンロード開始の検出 #Java #JQuery” の続きを読む

個人的によく使う #Java オプション

  1. 簡単に主要なオプションを解説させていただくと、
  •  常駐型のプログラムでは-serverを明示的に指定
  •  メモリサイズ(New・Old・Perm領域)を際限なく拡がらない様に固定
    • メモリサイズはプログラムによって最適な値をあらかじめ決める
  •  コンカレントGCとパラレルGCを明示的に有効化
  •  GCログとJMX設定は管理・運用の為に必須。

実際のオプションは下記になります。

“個人的によく使う #Java オプション” の続きを読む