matlab - 投影变换:寻找新的像素位置 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)),变换图像中的新位置是什么?
请参阅下面的示例图像。右边是原始图像,左边是变换后的图像。数据提示在两个图像中是相同的像素,但在不同的位置。我想知道我怎样才能在两者之间穿梭。
解决方案
推荐阅读
- linux - 在 docker 下使用来自 Perl 的 capget syscall 和 capsh --drop=cap_sys_admin
- javascript - 使用多种变体过滤 MongoDB 集合
- javascript - 寻找任何替代状态管理工具来做出反应,而不是 redux
- python - 在 Python 中编写带有标题的阿拉伯语 rtf 文件
- ms-access - MS Access - 在查询中使用多选
- google-apps-script - Google App Scripts 在不变形的情况下删除重复项
- python - 在 Django Template For Selection 中同时迭代两个表 - Python Django
- wordpress - 调用未定义函数 wp()
- clang - 错误:为 aarch64_be 编译 compiler-rt ASAN 运行时时静态断言失败
- mysql - MYSQL用SUM减去两个表