Я оцениваю расстояние от камеры до шахматной доски. Тем не менее, ошибка растет линейно, пока я далеко от шаблона.
Это нормально? Как я могу исправить эту ошибку?
Я исправил эту ошибку, используя простое линейное уравнение, и оно работает, но оно не зависит от параметра камеры, как мне кажется, поэтому коррекция будет надежной:
ошибка = 72,51 + distNorme * 0,0278;
Я вычисляю расстояние от шахматной доски, используя OpenCV и параметры моей камеры, следуя этим шагам:
1- найти шахматную доску углы
2- решитьPnP
3- -> Расстояние от вектора перевода, заданного solvePnP
Я также буду заинтересован в исправлении поворота и ошибок перевода позже, когда у меня будет лучший шаблон для отслеживания
Я напишу ответ на вопрос после выполнения некоторых экспериментов. Я исправил свою дистанцию следующим образом:
Distance_corrected = distNorme+distNorme*correction
distNorme
это расстояние до шахматной доски, которое является нормой вектора перевода, заданного solvePnP
Функция OpenCV.
correction
является
correction=pixel_size/focal_mm/2 = 2/focal_pixel
Результаты лучше, но погрешность возрастает линейно, но не так сильно, как distNorme
(расстояние не скорректировано).
Я все еще ищу ссылки или документацию этого correction
ошибка. Мне нужно больше подробностей об этом.
Других решений пока нет …