【发布时间】:2015-02-12 01:43:55
【问题描述】:
我必须使用双线性插值实现鱼眼变换。在转换一个像素之后,我不再有整数坐标,我想使用双线性插值将这个像素映射到整数坐标上。问题是我在 inetrnete 上的双线性插值中发现的所有内容(例如参见 Wikipedia)都做了相反的事情:它通过使用具有整数坐标的四个邻居的坐标来给出一个非整数像素的值。我想做相反的事情,即将具有非整数坐标的一个像素映射到具有整数坐标的四个邻居。肯定有一些我遗漏的东西,有助于理解我错在哪里。
编辑: 更清楚一点:假设我有起始图像的像素 (i,j)=(2,2)。鱼眼变换后我得到非整数坐标,例如(2.1,2.2)。我想将此新像素保存到新图像中,但由于非整数坐标,显然我不知道将其保存在哪个像素中。最简单的方法是截断坐标,但是图像质量不是很好:我必须使用双线性插值。尽管如此,我还是不明白它是如何工作的,因为我想将我的非整数像素拆分为具有新(转换后图像)整数坐标的相邻像素,但我发现仅描述了相反的操作,即查找非整数坐标开始来自四个整数像素 (http://en.wikipedia.org/wiki/Bilinear_interpolation)
【问题讨论】:
-
能否请您更具体一些并添加一个清晰的示例。
-
已编辑。我希望现在更清楚了。
标签: c++ algorithm image-processing