2016年3月6日日曜日

画像の重心





ふと思い立って画像の重心位置を計算して遊んでいる。上からブルーインパルスのT-4、空自?のUH-60、ボーイング777の写真を読ませたところ。
処理としては 1) カラー写真のモノクロ化(人間の感度に合わせてWB化) 2) 画像の二値化(任意の閾値) 3) 重心位置の計算 という感じ。また1の前に処理しやすいように512x512にリサイズを行っている。
背景ホワイトと背景ブラックがあるが、逆光気味の場合は背景ホワイトとなり、順光で撮影した場合は背景ブラックとなる。カメラの自動追尾とかを行うには背景Wと背景Bの自動検出を行う必要がありそう。もちろん輝度とか閾値も自動で調整する必要があるのでその辺りもうまくやる必要がある。

カメラの自動追尾に使う場合、T-4やUH-60は綺麗に中心を検出することができている。しかしB777は飛行機雲が明るいため、機体だけではなく、飛行機雲までを含めた重心が計算されている。ラベリングを行って一番大きな目標を捉える、といった処理を行う場合でも、飛行機雲と機体が連続しているので不可能っぽい。飛行機雲は結構モコモコしてるので、画像認識とかやるなら直線を探して、それらを追尾したほうが良いのかも。

USBカメラとかOpenCVとかを使えばリアルタイムに画像を読み込んで重心を計算する といったことができるようになるので、その結果を電動雲台に流し込んで自動追尾 とかもできるようになるかもしれない。ただし実際の環境は背景ノイズがかなり問題になりそう。雲が薄い空を飛ぶヘリコプターとかは結構認識しやすそうだけど、巡航高度の旅客機だとか、地上を移動する物体を検出するのは大変そうだ。

0 件のコメント:

コメントを投稿