所以我一直在使用gnu-gsl和CImg来实现一些用于仿射和度量修正的基本投影空间技术。
我已经完成了仿射校正的计算,但是我很难弄清楚如何将仿射校正矩阵应用到原始(输入)图像。
我当前的思维过程是针对每个像素坐标迭代输入图像。然后将仿射校正矩阵乘以原始像素坐标(转换为齐次坐标),得到输出像素坐标。
然后使用输出像素坐标访问输出图像,并使用原始图像中的像素颜色对输出图像的像素位置执行混合(加法)操作。
这听起来不错吗?在将原始像素坐标乘以仿射校正矩阵后,我得到了许多非常奇怪的值。
答案 0 :(得分:1)
不,你的价值观不应该是奇怪的。为什么不做一个简单的例子,一个小规模的翻译; e.g。
x' = 1.01*x + 0.0*y + 5;
y' = 0.0*x + 0.98*y + 10;
现在(10,10)的像素应该映射到(15.1,19.8),对吧?
如果你想制作一个漂亮的输出图像,你应该找到前向投影然后再投影到输入图像并在那里进行插值而不是尝试融入输出图像。否则你最终会在输出中出现空白。
你需要在这里小心你的术语;听起来像你在做投影,有时在计算机图形社区中称为翘曲。整顿是另一回事,但这取决于你在做什么。