首页 > 解决方案 > 投影变换:寻找新的像素位置 MATLAB

问题描述

我正在使用保护性转换矩阵转换我的图像。我通过执行以下操作来进行转换,其中 a 是 4 个固定点,b 是 4 个移动点。

my_tform    = fitgeotrans(a,b,'projective');

imwarp然后我使用和我的转换矩阵转换我的图像my_tform,如下所示:

newImage = imwarp(Im,my_tform,'cubic','OutputView', imref2d( size(Im) ));

这真的很好用。我遇到的问题是我想知道在转换之前给定像素位置的新像素位置。我需要一些快速代码,因为我会为图像中的每个像素执行此操作。基本上,给定原始图像中的位置(例如(256,256)),变换图像中的新位置是什么?

请参阅下面的示例图像。右边是原始图像,左边是变换后的图像。数据提示在两个图像中是相同的像素,但在不同的位置。我想知道我怎样才能在两者之间穿梭。 改造前后

标签: matlabcoordinatestransformcoordinate-transformationprojective-geometry

解决方案


推荐阅读