4

与えられた:

  • 同じ主題の2つの画像。
  • 画像の解像度、色深度、ファイル形式は同じです。
  • 画像のサイズと回転が異なります。と
  • 画像を相互に関連付ける(x、y)座標の2つのリスト。

私が知りたいのですが:

  • 大きい方の画像をどのように変換して、2番目の画像に視覚的に揃えますか?
  • (オプション)正確な変換を行うために必要な最小ポイント数はいくつですか?
  • (オプション)正確な変換を行うには、ポイントをどれだけ離す必要がありますか?

変換には、より大きな画像を回転、拡大縮小、場合によってはせん断する必要があります。基本的に、私は次のことを行うプログラムを作成(または検索)したいと思います。

  1. 2つの画像(TIFFなど)を入力します。
  2. 小さな画像のいくつかのアンカーポイントをクリックします。
  3. 大きな画像で対応するいくつかのアンカーポイントをクリックします。
  4. アンカーポイントを揃えて、大きな画像を小さな画像にマッピングするように変換します。

これは、同じ恒星オブジェクトの写真を揃えるのに役立ちます。(たとえば、2000年にハッブルが撮影した写真にマッピングされた1855年の手描きの写真。)

アルゴリズム(できればJavaまたは同様の擬似コード)、アイデア、または関連するオープンソースソフトウェアパッケージへのリンクを事前に感謝します。

4

3 に答える 3

1

これは、イメージ レジストレーションと呼ばれます。

Mathworksはこれについて議論し、Matlabはこの機能を備えており、詳細についてはElastix マニュアルを参照してください。

検討:

于 2009-07-04T21:35:13.657 に答える
0

C ++実装(GUIなし)の場合は、古いKLT(Kanade-Lucas-Tomasi)トラッカーを試してください。

http://www.ces.clemson.edu/~stb/klt/

于 2010-06-30T19:48:36.563 に答える
0

画像で何をしたいかがわかったら、 javax.imageioまたはJava Advanced Imaging APIを使用して、画像を回転、剪断、およびスケーリングできます。

于 2009-07-04T22:08:29.863 に答える