小编Flo*_*ent的帖子

摄像机校准,像素到方向的反向投影

我正在使用OpenCV从一系列棋盘图像估计网络摄像头的内在矩阵 - 如本教程中所详述,并反向投影像素到方向(在方位角/仰角方面).

最终目标是让用户选择图像上的一个点,估计该点相对于网络摄像头中心的方向,并将其用作波束形成算法的DOA.

因此,一旦我估计了内在矩阵,我就反向投影用户选择的像素(参见下面的代码)并将其显示为方位角/仰角.

result = [0, 0, 0]  # reverse projected point, in homogeneous coord.
while 1:
    _, img = cap.read()
    if flag:  # If the user has clicked somewhere
        result = np.dot(np.linalg.inv(mtx), [mouse_x, mouse_y, 1])
        result = np.arctan(result)  # convert to angle
        flag = False

    cv2.putText(img, '({},{})'.format(mouse_x, mouse_y), (20, 440), cv2.FONT_HERSHEY_SIMPLEX,
                0.5, (0, 255, 0), 2, cv2.LINE_AA)
    cv2.putText(img, '({:.2f},{:.2f})'.format(180/np.pi*result[0], 180/np.pi*result[1]), (20, 460),
                cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2, cv2.LINE_AA)

    cv2.imshow('image', img)
    if cv2.waitKey(1) & …
Run Code Online (Sandbox Code Playgroud)

python opencv image matrix camera-calibration

5
推荐指数
1
解决办法
892
查看次数

标签 统计

camera-calibration ×1

image ×1

matrix ×1

opencv ×1

python ×1