Я пытаюсь откалибровать камеру моего ноутбука, чтобы обнаруживать маркеры 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 не поддерживается»
Указанная выше ошибка отображается при запуске последней строки кода.
Я нахожусь в тупике о том, как исправить эту проблему и перейти к остальной части кода