基本上我想要做的是使用每个图像上的预定义点覆盖两个图像。

图像可能有两种不同的尺寸或不同的缩放比例,目前还不确定。但图像是一样的。所以我想要做的是说图像 1 上的这个点与图像 2 上的这个点相同。并对多个点执行此操作,然后让 matlab 调整大小或变换以将所有这些点排列起来,以便两个图像可以覆盖。让我感到困惑的是让 matlab 自动调整图像,以便它们可以“适合”在一起。

我不知道从哪里开始,只是希望对我能做的事情有一个大致的了解。

以防万一其他人知道如何做到这一点,我会提出我需要做的其他事情。两幅图像重叠后,一幅图像将成为区域映射,另一幅图像将成为真实图像。我需要matlab做的是计算 map 每个区域中来自真实图像的点数。

谢谢你的帮助。

最佳答案

您正在尝试做的称为图像配准,这是一项非常常见的图像处理任务。您不需要编写太多代码,因为 matlab 已经为此内置了函数。您可以使用 cp2tform 创建从第一幅图像到第二幅图像的变换,然后可以使用 imtransform 函数将变换应用于第一幅图像。假设控制点的 x,y 坐标在一个 m × 2 矩阵中,代码看起来像这样,image1 称为 points1,image2 称为 points2。

  tform= cp2tform(points1, points2 , 'similarity');
  imtransform(image1, tform);

关于image - 使用预定义点在 MATLAB 中叠加图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18517827/

10-17 02:31