我正在使用保护性转换矩阵转换我的图像。我通过执行以下操作来进行转换,其中 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)),变换图像中的新位置是什么?
请参阅下面的示例图像。右边是原始图像,左边是变换后的图像。数据提示在两个图像中是相同的像素,但在不同的位置。我想知道我怎样才能在两者之间穿梭。