калибровочный питон камеры aruco - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь откалибровать камеру моего ноутбука, чтобы обнаруживать маркеры aruco и в конечном итоге иметь возможность оценить расстояние от маркера. Я работал с учебником, предоставленным в здесь .

Я решил несколько проблем, с которыми столкнулся при работе с этим кодом, но застрял, когда пытался откалибровать камеру.

if calibrate_camera == True:
img_list = []
i = 0
while i < numberOfImages:

    name = "C:/Users/Cory/aruco_data/" + str(i) + ".jpg"
    img = cv2.imread(name)
    img_list.append(img)
    h, w, c = img.shape
    i += 1

counter = []
corners_list = []
id_list = []
first = True
for im in img_list:
    img_gray = cv2.cvtColor(im,cv2.COLOR_RGB2GRAY)
    corners, ids, rejectedImgPoints = aruco.detectMarkers(img_gray, aruco_dict, parameters=arucoParams)
    if first == True:
        corners_list = corners
        print(type(corners))
        id_list.append(ids)
        first = False
    else:
        corners_list = np.vstack((corners_list, corners))
        id_list = np.vstack((id_list,ids))
    counter.append(ids)
    (len(counter))


counter = np.array(counter)
print ("Calibrating camera .... Please wait...")
mat = np.zeros((3,3), float)
ret, mtx, dist, rvecs, tvecs = aruco.calibrateCameraAruco(corners_list, id_list, counter, board, img_gray.shape, None, None )

«Ошибка типа: тип данных id = 17 не поддерживается»

Указанная выше ошибка отображается при запуске последней строки кода. Я нахожусь в тупике о том, как исправить эту проблему и перейти к остальной части кода

...