使用预定义的点在MATLAB中叠加图像

时间:2013-08-29 17:53:27

标签: image matlab

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

图像可能有两种不同的尺寸,也可能有不同的尺寸,但目前尚不清楚。但图像是相同的。所以我想要做的是说图像上的这个点与图像2上的这个点相同。并且对多个点执行此操作然后使用matlab调整大小或变换以使所有这些点排成一行,这样两个图像就可以了覆盖。令我困惑的是让matlab自动调整图像,使它们“适合”在一起。

我不知道从哪里开始,只是希望能够大致了解我可以做些什么。

只是让别人知道如何做到这一点我会抛出我需要做的其他事情。在两个图像彼此叠加之后,一个图像将是区域图,另一个图像将是真实图像。我需要matlab做的是计算地图每个区域中真实图像的点数。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

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

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