以前同じようなことを質問したのですが行き詰ってしまいました。
前提・実現したいこと
2台のプロジェクターで単色画像を投影し、その画像の重なり部分をなくしたいというのが最終目標です。
重なっている部分で線分を決め、その線分それぞれのピクセル座標を求めれば、左右の単色画像のはみ出た部分を黒にするという方法を考えています。
具体的な方法としては次のような撮影状況でプロジェクターからグレイコードを左右片方ずつ投影し、真ん中のカメラで撮影します。
2台のプロジェクターの配置はカメラで撮影した画像の真ん中にちょうど重複部が来るように配置してあり、保存した画像は640*480サイズなので、横320のラインで分けようと考えています。
左右のグレイコードの投影、撮影はすでに終わっており次のようになっています。
左側一覧
右側一覧
わからないこと
この投影したグレイコードを利用し座標を求め色を分けたいなと考えているのです。
例として写真の線分上の座標点が(320,232)だったとします。左側のプロジェクターで投影したグレイコードであれば、
白を1黒を0とした場合、目視での確認としてしまいましたが
x座標が(1001100110101011)y座標が(0110101011100101)となりました。
※xとyそれぞれ18枚あったが最後2枚はつぶれてしまって使えなくなったので16枚までとし16ケタとした
あとは左側のプロジェクターで同じ場所を探し、それより右側を映さなくするあるいは黒色に処理しようと考えていました。
これをパターンが投影されている線分上すべての点でやろうと思ったのですがどういう風にプログラム書けばいいのかわからなくて困ってます。。
そもそももっとやりやすい方法があるのでしょうか・・
わからないくせに難しいことやってるなと思っています
ご教よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
OpenCVは3.4.3、Visual Studioは2017communityです。