自动缩放和旋转图像

时间:2009-07-04 20:49:39

标签: java image-processing transform algorithm image-scaling

假设:

  • 同一主题的两张图片;
  • 图像具有相同的分辨率,颜色深度和文件格式;
  • 图像大小和旋转不同;和
  • 关联图像的两个(x,y)坐标列表。

我想知道:

  • 如何转换较大的图像,使其在视觉上与第二张图像对齐?
  • (可选。)获得准确转换所需的最小点数是多少?
  • (可选。)获得准确转换所需要的距离是多远?

转换需要旋转,缩放并可能剪切较大的图像。基本上,我想创建(或找到)执行以下操作的程序:

  1. 输入两张图片(例如,TIFF)。
  2. 点击小图片上的几个锚点。
  3. 单击大图像上的几个相应锚点。
  4. 变换大图像,使其通过对齐锚点映射到小图像。
  5. 这将有助于对齐同一恒星物体的图片。 (例如,1855年的手绘图片映射到哈勃在2000年拍摄的照片。)

    非常感谢任何算法(最好是Java或类似的伪代码),想法或相关开源软件包的链接。

3 个答案:

答案 0 :(得分:1)

这称为Image Registration

Mathworks对此进行了讨论,Matlab具有此功能,更多信息位于Elastix Manual

考虑:

答案 1 :(得分:0)

您可以使用javax.imageioJava Advanced Imaging api进行旋转,剪切和缩放图像,一旦找到想要用它们做的事情。

答案 2 :(得分:0)

对于C ++实现(没有GUI),请尝试旧的KLT(Kanade-Lucas-Tomasi)跟踪器。

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