我想要做的是匹配線性軸系統(軸座標)與照片的圖像像素。首先,我想使用對應的2D軸座標(Z = 0平面中的3D座標)使用圓形網格來校準相機。這一次完成,相機穩定。稍後,我想在圖像中查找輪廓並獲取其相應的座標軸。在Python中,我使用:opencv - 簡單的2D <-> 2D變換
ret, corners = cv2.findCirclesGrid(gray, (16,8))
imgpoints.append(corners)
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, gray.shape[::-1],None,None)
在objpoints我把相應的座標。例如。
objp[:,:2] = np.mgrid[0:16,0:8].T.reshape(-1,2)
objpoints.append(objp)
的代碼是從本教程或多或少:http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_calib3d/py_calibration/py_calibration.html
我知道的比我可以使用projectPoints來獲得圖像像素軸座標的點。但我想做相反的處理,並從圖像像素中獲取軸座標。我在這裏閱讀了很多有關該主題的stackoverflow,但是我沒有找到明確的答案。從想要的我明白的是,我必須不破壞我的照片,並使用solvePnP來獲取相機座標。我不得不承認,我不明白如何解釋這些步驟。我不確定哪個圖像應該不失真(我的圓形網格用於校準或稍後處理圖像)以及如何將它與solvePnP結合使用。或者甚至有可能在不破壞完整圖像的情況下不破壞輪廓點?我也不知道如何從solvePnP的結果中獲得圖像像素的位置。此外,我需要通過至少4點解決PNP,但我想要的是轉換單點。也許我理解錯了什麼,我需要做一些完全不同的事情。 我將非常感謝您的幫助。