ディスプレイの検出

表示領域の検出を実現してみました。

(1) 箱の検出
(2) 誤検出の排除
(3) 角の検出
(4) 表示

ってなことをしています。
動画にしたので、とりあえず見てみてください。
緑色が「マーカーの役割の箱として検出されたもの」です。
赤色が「検出したけど誤検出として判断されたもの」です。
青色が「表示領域」です。

はじめの方は準備時間です。
途中から、画面中央にUSBカメラでリアルタイムに取り込んだ動画が流れます。

ノートにテキトーに描いた絵でも認識しているのが面白いです。
角度を傾けたりしても、画面全体がカメラにおさまっていればオーケーです。
ちょっとまだ検出精度低めですけど。

ぴったり4つの検出ができた時は良いけど、たとえば5つ検出してしまったら、1つは誤検出です。
これは、検出領域の大きさから、誤検出を判断します。
全ての検出の領域の平均を取って、そこからの偏差の絶対値が一番大きいものを誤検出とします。

更に。
誤検出を除いた4つの検出点の平均の座標を原点として、4つの検出点がそれぞれ第1象限から第4象限に入っているか判定。
入っていたら、検出成功。
それぞれの角を青色の線で繋ぐことで、表示領域の検出が完了です。

・・・といった具合で。
これを利用して面白いもんができるんじゃないかなーと思っていたけど。

既にやっている人がいて、やる気をなくしました。
また新しい発想が出てくるのを待つことにします。

コメント

タイトルとURLをコピーしました