私はプロジェクタを通して画像を表示するRaspberry Piでプロジェクトをやっています。画像は、その幅のちょうど2倍の長方形です。私はプロジェクタを介して表示しているので、プロジェクトから一番遠い側が近い側よりも狭くなることを意味するので、イメージのその側を拡張する必要があります。画像の片側をゆがみます
誰かが私にそれをどのように実装するのか正しい方向に向けることができますか?私は、適切な用語が良いことを知っていなくても、私がする必要がある数学を見ています。
私はプロジェクタを通して画像を表示するRaspberry Piでプロジェクトをやっています。画像は、その幅のちょうど2倍の長方形です。私はプロジェクタを介して表示しているので、プロジェクトから一番遠い側が近い側よりも狭くなることを意味するので、イメージのその側を拡張する必要があります。画像の片側をゆがみます
誰かが私にそれをどのように実装するのか正しい方向に向けることができますか?私は、適切な用語が良いことを知っていなくても、私がする必要がある数学を見ています。
あなたが求めていることは「キーストーン補正」と呼ばれています。多くのビデオプロジェクターはこれを自動的に行うことができるので、コードを書く前にチェックする価値があります:)
ImageMagick convert
ユーティリティを使用してこれを行う方法は次のとおりです。まず、画像のサイズを知る必要があります。議論のために、それが889 x 746であると仮定しましょう。また、画像が最上部よりも底部で60ピクセルだけ「薄く」なるようにし、「間引き」は、ライン。
左上のピクセル(1,1)、右上(889,1)、左下(1,746)、右下(889,746)を呼び出してみましょう。左上および右上のピクセルは、その位置に留まります。左下の「移動」は(1,746)から(61,746)になります。右下は(829,746)に移動します。これは889-60が829なので、これは左に移動します。
convert -distort perspective
コマンドには、移動前と移動後の4つのピクセルの座標が必要です。次に、他のすべてのピクセルをどのように移動させるかを計算します。元の直線は直線のままです。したがって、上記の計算値を取って、我々が必要:もちろん
convert in.png -virtual-pixel transparent -distort perspective \
'1,1 1,1 \
889,1 889,1 \
1,746 60,746 \
889,746 829,746' \
out.png
、間隔は必須ではない:それは数字が上記の計算値と並ん方法を示すことだけです。
もちろん、画像のサイズや必要な補正の程度に合わせて、数値を調整する必要があります。 ImageMagickはRaspberry Piに対応しており、convert
への呼び出しをアプリケーションコードに埋め込むのは簡単です。
コマンドラインツールを使用して画像を歪めたい、または作成したコードを使って処理したいと思っていますか?あらゆる種類の巧妙な方法で画像を歪めるための良いツールはImageMagickパッケージの一部である 'convert'です。 –
私はコードで処理します。 – Gargoyle
私は投影面に四角形を作る4つの点を持っていますので、最初の校正画像は矩形を描き、各コーナーがそれらの4点に触れるまで画像を調整してから、私が説明しなければならない「オフセット」。 – Gargoyle