【发布时间】:2015-12-24 04:04:33
【问题描述】:
经过大量搜索,我一直无法找到一个解释得体的 WebGL 鱼眼图像校正公式。 fisheye/antifisheye 的 Shadertoy 显示了一个公式
uv = m + normalize(d) * atan(r * -power * 10.0) * bind / atan(-power * bind * 10.0);
字面意思是“奇怪的公式”。它以某种方式遵循了 Paul Burke 在镜头畸变校正here 方面的工作,但我没有看到其中的联系。在我的应用程序中,公式归结为(值手动调整到我的镜头和网络摄像头):
uv = centerPoint + normalize(d) * atan(r * pi) * 1/3 / atan(pi/3)
其中 r 是像素到图像中心的距离,d 是该方向上的单位向量,而 centerPoint 是图像的中心。我不明白反正切如何直接与坐标联系在一起,谁能帮我得到它?我确实知道带有反正切的公式部分是计算距图像中心的像素距离,我不明白是如何计算的。
谢谢!
【问题讨论】:
-
添加可视化设置的图像...鱼眼校正通常会转换片段/几何形状,因此与相机的垂直距离与深度坐标相匹配。在某些情况下,它是乘以
cos在其他情况下是tan或其他公式都取决于您查看的内容和方式(投影类型和查看的几何形状以及与相机的距离)...
标签: image-processing webgl fisheye