我想知道如何计算照片中某个像素相对于我使用的网络摄像头的角度。 我对这种事情还不熟悉,而且我正在使用网络摄像头。 基本上,我拍照、处理图像,最终得到的是图像中所需的像素值。 然后,我需要将该像素值转换为一些有意义的量 --- 我需要找到通过像素和相机的一个线/向量。 我不需要幅度,只需要相位。
如何去做呢? 摄像机校准是否必要? 我已经读了一些相关内容,但不确定。
谢谢
我想知道如何计算照片中某个像素相对于我使用的网络摄像头的角度。 我对这种事情还不熟悉,而且我正在使用网络摄像头。 基本上,我拍照、处理图像,最终得到的是图像中所需的像素值。 然后,我需要将该像素值转换为一些有意义的量 --- 我需要找到通过像素和相机的一个线/向量。 我不需要幅度,只需要相位。
如何去做呢? 摄像机校准是否必要? 我已经读了一些相关内容,但不确定。
谢谢
方法:
1 - 校准相机,获得相机矩阵K和畸变参数D。在OpenCV中,可以按照此教程所述进行操作。
2 - 从感兴趣的像素位置中消除非线性畸变。在OpenCV中,使用undistortPoints例程完成,不传递R和P参数。
3 - 将感兴趣的像素反投影到相机三维坐标系中的光线(以相机中心为尾部的单位向量)中,通过将它们在齐次坐标下的像素位置乘以相机矩阵的逆来完成。
4 - 你需要的角度是上述向量与(0, 0, 1)之间的角度,后者是与相机焦轴相关联的向量。