java - 自动缩放和旋转图像

标签 java image-processing transform algorithm image-scaling

给定:

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

我想知道:

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

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

  1. 输入两张图片(例如 TIFF)。
  2. 点击小图片上的几个 anchor 。
  3. 点击大图上对应的几个 anchor 。
  4. 变换大图像,使其通过对齐 anchor 映射到小图像。

这将有助于对齐同一恒星物体的图片。 (例如,1855 年的手绘图片映射到哈勃 2000 年拍摄的照片。)

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

最佳答案

这叫做 Image Registration .

Mathworks讨论这个,Matlab有这个能力,更多信息在Elastix Manual .

考虑:

关于java - 自动缩放和旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1082951/

相关文章:

html - 为什么我改造后的汉堡包菜单关闭按钮不均匀?

java - 使用上一个迭代器逆序列表

java - 类似于 Java 的 EnumSet 的结构,可以容纳重复的元素

c++ - 如何将位图转换为内存中的 PIX?

python - 基于直方图的图像噪声估计

java - 测量旋转字符串的像素高度Java

java - Spring 4 中 ScheduledExecutorFactoryBean 的替代方案

java - Struts 2 迭代选择中的空顶部选项

r - 如何使用 ggplot2 绘制具有 (x,y,r,g,b) 坐标的图像?

python - 传输数据创建新的数据帧来重新构造数据帧