出産前後の痔にはご注意!

姿勢センサを用いて,プロジェクタの台形補正を自動で行う画像処理プログラムを作成しようと思っています.

ネットで調べたところ射影変換を使うのが定石のようですが,
その際にカメラを併用して射影変換行列を得ているものがほとんどで,姿勢センサを利用したものが見あたりませんでした.

カメラを使わず,プロジェクタの姿勢を取得する3軸姿勢センサのみで
投影画像の台形補正を行うことは可能でしょうか?

シナリオとしては,机上に置いたプロジェクタで平面(壁)に投影することを想定しています.
また,投影面までの距離はあらかじめ分かっているという前提です.

参考になる書籍等でもかまいませんので,ご教授お願いします.m(_ _)m

このQ&Aに関連する最新のQ&A

A 回答 (4件)

No.1 です。



事前調査はやったほうがいいですよ。
そうすれば、センサの出力が誤差だらけだとか、そもそも、センサの取り付け精度をどうやって補償するのかとか、周辺の問題もわかってきます。
また、データがあれば、数度程度の傾きなら、一次の多変量解析で、かなりいいデータが出るはずです。
なにより、回答を待っている間に、「ある程度の傾向」がわかるはずです。

実際、こういうものは、途中の理論はどうとでもなるものです。
それより、「入力」が本当に正しく得られるかというのが一番難しい点であることが多いです。

その上で、あくまでも理論的にと言うのなら、まず、すでに調べたカメラによる方法をまず完全に理解しましょう。
その方法は、

1)カメラで壁の映像を取得 → 2)実際に写っている画像のゆがみを認識 → 3)それを元に戻す。

というロジックだと思いますが、姿勢センサを使ったときの

1)姿勢センサで傾きを認識する → 2)壁に映っているはずの壁のゆがみを認識 → 3)それを元に戻す。

ということで、1)と2)だけを考えればいいことがわかります。
実際には、三角関数の応用問題なので、図形を書いて冷静に考えればそんなに難しくないと思います。

問題は、カメラの場合、3)でフィードバックを行っている可能性が高いと言うことです。
カメラを使った場合のロジックを理解するというのは、このフィードバックが本誌的なフィードバック(一発ではきっちり計算できないので、フィードバックをしながら修正をしている)なのか、見かけのフィードバック(位置が変わったときに自動的に補正できるようにしている)のか見極めることです。

前者(本質的なフィードバック)が必要と言うことであれば、姿勢センサだけで台形処理をすることは(画像のフィードバックを得る手段がないので)とても難しいと言うことになります。

あと、カメラを使った場合、水平方向のずれも組み込んでいるはずです。
姿勢センサでは、水平方向のずれが本質的に検出できませんから、水平方向のずれの部分を排除しなければなりません。(画像の変形のどの部分が水平方向のずれを反映しているのか確認する必要がある)
    • good
    • 0

なかなか面白いことをやっていますね。


自動で台形補正をするためには、当然ですが画像がスクリーンにどのように投影されるかが求められなければいけません。
これを計算で求めるためには、スクリーンとプロジェクターとの位置関係と、プロジェクターの投影角などの内部状態がわからないといけません。
位置関係は、ある程度条件を制限して、姿勢センサで求めることができると思いますが、投影角はプロジェクタ内で可変なものがほとんどだと思います。
このため台形補正をするためには、プロジェクタの投影角を何らかの方法で取得しなければいけません。おそらくあなたのやりたいことだと、投影スクリーンの大きさはあらかじめ分かっているものとして、固定にしてしまってもいいかもしれません。
以上のことから外部変数と内部変数が求められますので、ピンホールカメラモデルに基づいて、射影行列を計算することができると思います。

この回答への補足

詳しい回答ありがとうございます.
ピンホールカメラモデルというものを使うということで,ネットで調べてみました.

プロジェクタとカメラで入出力が逆なので混乱してしまったのですが,
ワールド座標系に設置されたある大きさの長方形を本来のプロジェクタ投影画像とし,
カメラの場合で言う"画像座標系"をスクリーン(プロジェクタを投影する壁面)と置き換えて
考えるということでしょうか?

補足日時:2011/04/05 22:47
    • good
    • 0

姿勢センサで分かるのはプロジェクタの姿勢だけですよね。


スクリーン(壁面)とプロジェクタが平行でなかったりの問題はカメラがないと補正できないと思いますが、そこは理想的な状態と言う非現実的な対応でよろしいのでしょうか?

この回答への補足

いえ,むしろその理想的でない場合に台形補正を行えればと思っています.

つまり,プロジェクタがスクリーンに対してPitch角やYaw角方向に姿勢が傾いていた場合にも,姿勢センサのみで台形補正を行いたいということです.

補足日時:2011/04/05 22:29
    • good
    • 0

本質的には、プロジェクタのレンズの中心点を、光の中心と考えて、その点から、映像の4隅までの距離が、(プロジェクタの置かれた角度により)どう変化するかという問題ですから、三角関数の組み合わせで解けそうな気はします。



が、ここでは、もっと安直な方法を。

実際に、プロジェクタを設置して、傾けてみて(姿勢センサの出力はとれるとして)壁に映った画像の4つの片の長さを実測してみれば、どう変換すればいいかがわかります。

プロジェクタを机の上に置いて、(多分垂直になっている)壁に映すということで、考えるべき角度の範囲はかなり狭いと思います。
この範囲なら、おそらく、傾ける角度と、画像の(各辺の)長さの変化は1次式で、かなり正しく表現できると思います。

あと、壁との距離は、姿勢センサを使うなら、影響はないはずです。
    • good
    • 0
この回答へのお礼

回答ありがとうございました.

確かに実測で計ってしまえば,(誤差は置いておいて)一番分かりやすい形で式が立てられそうです.
ただ,縦方向と横方向の姿勢変化を組み合わせると,かなり骨が折れそうですね^^;

まずは理論的に考えてみて,それが難しいようでしたらいただいたアイディアを使わせていただきます!

お礼日時:2011/04/05 22:25

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q透視投影された平面を正面から見たように変換したい

透視投影で撮影された平面を、正面から撮影したように投影変換する処理を教えてください。
または、射影ひずみの補正といわれるものでしょうか?
私なりにいろいろと調べまして、
「画像の平面内の四頂点の座標を求めることができれば、平面の傾きを求めることができる。」
というところまでたどり着きまして、平面の角度を求めるところまではいきました。
しかし、その後の行列変換がわかりません。
単に回転であれば、

1    0    0
0 cosθ -sinθ
0 sinθ cosθ


cosθ 0 sinθ
0   1    0
-sinθ 0 cosθ

をかければよいかと思っていましたが、奥行きの収縮などの関係がわかりません。
どの様な行列をかければ求めることができるのか教えてください。
このような研究をしていますが、行列は苦手なので、簡単な質問でしたらすみません。

Aベストアンサー

アフィン変換と透視投影の座標変換は以下のURLに詳しく載っていると思いますので、勉強してください。
中に座標変換の式も載っていると思います。
アフィン変換や透視投影の理解に役立つようにイメージ図のあるHPも余分にあげておきました。参考になるかと思います。

アフィン変換と透視投影
http://nis-lab.is.s.u-tokyo.ac.jp/nis/CG/cgtxt/index2.htm
http://www.geocities.co.jp/Hollywood/5174/td.html
http://www-antenna.ee.titech.ac.jp/~hira/hobby/edu/afin_trans/math_html/index.html
http://hawk.ise.chuo-u.ac.jp/makino-lab/person/itot/cg2003/cg-lecture5.pdf
http://kawanobe.rs.sanno.ac.jp/~matsunaga_y/rinkou2.pdf
http://navi.cs.kumamoto-u.ac.jp/lecture/computergrahics/2007/8.pdf

プログラムでの座標変換
http://www.saturn.dti.ne.jp/~npaka/xna/PrimitiveEx/index.html

アフィン変換と透視投影の座標変換は以下のURLに詳しく載っていると思いますので、勉強してください。
中に座標変換の式も載っていると思います。
アフィン変換や透視投影の理解に役立つようにイメージ図のあるHPも余分にあげておきました。参考になるかと思います。

アフィン変換と透視投影
http://nis-lab.is.s.u-tokyo.ac.jp/nis/CG/cgtxt/index2.htm
http://www.geocities.co.jp/Hollywood/5174/td.html
http://www-antenna.ee.titech.ac.jp/~hira/hobby/edu/afin_trans/math_html/index.html
http:/...続きを読む

Q台形歪みを補正するソフトを探しています

手持の画像の中に、被写体とカメラが平行でなかったために、本来長方形であるべき物が台形に写っている画像があります。
この台形歪みを補正したいのですが、そのような機能を持ったソフトはないでしょうか。
長方形の領域を決めてその上辺だけを左右に広げる、といった感じかと思います。
少々手間がかかっても構わないので何かあれば教えて下さい。

Aベストアンサー

PaintShopだと4隅をクリックするだけで長方形にできますね

Qプロジェクターのレンズシフトと台形補正

ホームシアター用のプロジェクターを導入する予定です。
レンズシフトと台形補正を利用して設置するのですが、
どちらも画質の劣化があるようで、どちらを優先してセッティングしたらよいのでしょうか?

Aベストアンサー

こんにちは。♯1です。

>上下のレンズシフトを最大限使って足りない部分を本体を>傾けて台形補正を行えばよいということですね。
そ~いう事になりますね。併用すれば劣化は若干増えるように思いますが仕方ないですね。
これは私の個人的な感想なのですが。ウチの場合サイド吊り80インチを2mちょいの距離で視聴しています。
レンズシフトは付いていませんのでキッチリ位置合わせしました。 設置の際にわざと傾けて台形補正をかけてみたんですが80インチだと殆ど差が無いように感じました。
投影距離でも劣化の比率は変わるかもしれませんね。


人気Q&Aランキング