問題タブ [affinetransform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opencv - ある三角形から別の三角形への OpenCV ワープ
warpAffine とほぼ同じように、OpenCV Mat 内の 1 つの三角形を別の三角形にマップしたいと思います (ここで確認してください) が、Delaunay 三角形分割で使用するために、四角形ではなく三角形の場合です。
マスクを使用できることは知っていますが、より良い解決策があれば知りたいです。
java - Affine Trasform でスケーリングすると JPanel が描画されない
私のアプリケーションレイアウトは次のようなものです:カスタムJPanelを含む標準JPanelを含むカスタムJFrame(GUIの作成を処理するだけ)
MinimapPanel と呼ばれるカスタム JPanel 内で、ペイント メソッドを変更しました。
trasform を適用しない場合、またはスケーリングが 1.0 (なし) の場合はすべて正常に動作しますが、スケーリングすると、JFrame が再描画されるたびに MinimapPanel が空白のままになります。
私が間違っている可能性があることについてのアイデアはありますか?
java - AffineTransform による回転により、保存された画像が空になります
私の問題は単純です。AffineTransform を実行した後、画像が適切に保存されません (ただし、JPanel では適切に描画されます!)。それは本当に奇妙ですので、ヒントは本当にありがたいです...
コードを見てください:
ファイル BEFORE filterORIG が適切に保存されます -> 画像はありますが、事前に回転されています。
File AFTER... は空のファイルとして保存されます。
本当に興味深いのは、この変換がディスプレイとして使用する JPanel によく表示されるという前述の事実です (目的の変換の効果を観察できます)。
助けていただければ幸いです...
java - バッファリングされた画像の回転(対角テキスト)
(リンクは申し訳ありませんが、私は新しく、画像を投稿できません)
私は次のことを達成したいと思います:上部に凡例があり、斜めにテーブルを作成します。
しかし、いくつか問題があります。次の画像があり、45°回転させようとしています(結果は右側にあります)。
これが私のコードです:
私は次のことを試しました:
結果として、2番目の画像2の右側の画像が得られます。
だから私はそれを正しい位置にするために翻訳を適用する必要があります
誰かがaffineTransformがどのように機能するか、またはテキストを斜めに表示する方法を説明できますか?
ありがとう
core-animation - CGAffineTransform:翻訳にスケールを適用するにはどうすればよいですか?
Appleが使用するアフィン変換には、「翻訳に影響を与えない」と定義された「スケール」があります
これは私には完全に間違っているように思われ、通常のアフィン変換(縮尺に平行移動を掛けたものが平行移動に影響を与える)に期待するものと一致せず、実際の問題を処理するのが非常に困難になります。 「スケーリング」は、一度に1つのオブジェクトのローカル座標だけでなく、座標系全体をスケーリングすることが期待されます。
この問題を回避するためのAppleのライブラリ内の安全な方法はありますか(つまり、「スケール」を非翻訳部分だけでなく、マトリックス全体に適用する)?
それとも、私は愚かな間違いを犯して、スケーリングで何が起こっているのかを完全に誤解しましたか?
math - 2つの三角形間の相似変換
2つの2D三角形があり(つまり、両方とも平面にあります)、一方をもう一方に最も密接にマッピングする相似変換(回転+スケール+平行移動)を見つけたいと思います。
2つの三角形は実際には類似していないので、変換によって可能な限りそれらを整列させたいだけです。
2つの三角形の間にアフィン変換を作成して、一方を他方に正確にマッピングできることは知っていますが、アフィン変換に存在するせん断効果は必要ありません。変換を平行移動、回転、スケーリングのみで構成する必要があります。
これを行う方法はありますか?
java - 巨大なカスタム ペインティングの表示、拡大縮小、ズーム
それらをリンクするために、いくつかのポイントとポリゴンを描画する必要があります。カスタム ペインティングは、JScrollPane を使用して JPanel で実行され、AffineTransformation によるスケーリング/ズームをサポートします。JPanels の推奨サイズをポイント座標で定義された必要な寸法に設定し、再検証を行った後、図面が適切に表示され、スクロールできるようになりました。ポイント座標が、データ型整数、ズーム、および Dimension クラスの制限によって設定された制限を超えない限り、すべて問題ありません。
例: 座標に 4 つの点があるとします。
それらは、中心に原点を持つ正方形の角を定義します。私の paintComponent メソッドの短い形式:
zoomFactor == 1.0 の場合、1 ピクセルは正確に 1 つの座標値に等しくなります。
それらのコンストラクターPoint(int, int)
により、ポイントは [Integer.MIN_VALUE, Integer.MAX_VALUE] によって [Integer.MIN_VALUE, Integer.MAX_VALUE] の平面内に配置できます。JPanels の推奨サイズは、タイプDimension(int,int)
です。通常、幅と高さの値は負でない整数です。
問題は巨大な座標値で発生します: 次のような点のセットを想像してください:
私が最初に考えたのは、すべての座標値を縮小する別の倍率を導入することでした。
これにより、ピクセル対座標値の比率が減少します。viewZoomFactor = 1.0 での 1 ピクセル = 1/dataZoomFactor 座標値。
描画するポイントが上記の極端な位置に配置されている場合、描画全体の 1:1 のスケーリングされたスクロール可能な可視セクションを実現するにはどうすればよいですか? viewZoomFactor > 1.0 (拡大鏡) の場合は?
c++ - findHomography、getPerspectiveTransform、getAffineTransform
この質問は、OpenCV 関数に関するものですfindHomography
。getPerspectiveTransform
&getAffineTransform
findHomography
とはどう違いgetPerspectiveTransform
ますか?ドキュメントからの私の理解は、4 つ以上の対応関係 (おそらく最小二乗法のようなものを使用して) を提供した場合でも、4 つの対応関係 (getPerspectiveTransform
ホモグラフィ/遠近法変換を計算するために必要な最小値) を使用して変換を計算することです?findHomography
)。これは正しいです?(その場合、OpenCV がまだ getPerspectiveTransform をサポートし続けている唯一の理由はレガシーであるべきですか?)findHomography
私の次の懸念は、アフィン変換の計算に相当するものがあるかどうかを知りたいということです? つまり、最小二乗法または同等の堅牢な方法を使用して計算およびアフィン変換を行う関数です。ドキュメントによると、getAffineTransform
対応は 3 つしか取りません (これは、アフィン変換を計算するために必要な最小値です)。
一番、
java - Java AffineTransform 変換が機能しない
更新 私はただ疲れていることがわかりました。ここで問題はありません。時間を無駄にして申し訳ありません。モデレーターが確認できるようにフラグを立てたので心配しないでください。
私の問題は、Java で bufferedimage を変換すると、x 軸上で変換中に上下に移動することです。私の問題をよりよく理解するには、
http ://www.youtube.com/watch?v=stwi1qVakp4 をご覧ください。
だから私のセットアップは何ですか:まあ、私がやっていることは、私が持っている私のレンダリング方法です:
次に、次のようなキーリスナーがあります。
回転するとx、y座標が変化するため、これが起こっていると思います。90度の場合、xとyが変化します。それを回避できるかどうかはわかりません。
他に何か知りたいことがあれば教えてください。ありがとう、Javaman111