Я сделал фото A
используя камеру RGB. И я знаю положение точки g
на фото A
, Камера должна сделать калибровку камеры. Теперь я хочу знать положение точки g
после калибровки. Я использую код, как показано ниже, но я хочу получить позицию точки, а не изображение. Как я могу это сделать? Вы можете дать мне какой-то совет?
initUndistortRectifyMap(
cameraMatrix,
distCoeffs,
Mat(),
Mat(),
Size(640, 480),
CV_32FC1,
map1, map2);
remap(A, B, map1, map2, cv::INTER_LINEAR);
Point2f g = Point2f(...,...);//i want to get the new position of the point not image B
Просто получите координаты с карт:
x, y — координаты перед отображением.
(map1 (x, y), map2 (x, y)) — координаты после отображения
Другими словами:
map1.at<float>(y,x)
содержит преобразованные координаты х для каждой точки
р (х, у).
map2.at<float>(y,x)
содержит преобразованные координаты y для каждой точки
р (х, у).
Смотрите документацию по переназначить функция.
Других решений пока нет …