Оценка матрицы проекции камеры из соответствий между точками изображения
возвращает матрицу проекции камеры, определенную из известных мировых точек и соответствующих им проекций изображения с использованием подхода прямого линейного преобразования (DLT).camMatrix = estimateCameraMatrix(imagePoints,worldPoints)
[ также возвращает ошибку репроекции, которая количественно определяет точность координат проецируемого изображения.camMatrix,reprojectionErrors] = estimateCameraMatrix(imagePoints,worldPoints)
Вы можете использовать estimateCameraMatrix функция для оценки матрицы проекции камеры:
Если соответствия точек «мир-изображение» известны, а внутренние и внешние параметры камеры неизвестны, можно использовать cameraMatrix функция.
Чтобы вычислить 2-е пункты изображения из 3D мировых пунктов, обратитесь к уравнениям в camMatrix.
Для использования с findNearestNeighbors объектная функция pointCloud объект. Использование матрицы проекции камеры ускоряет поиск ближайших соседей в облаке точек, генерируемом сенсором RGB-D, таким как Microsoft ® Kinect ®.
Учитывая мировые точки X и точки изображения x, матрица проекции камеры C получается решением уравнения
λ x = CX.
Уравнение решается с использованием подхода прямого линейного преобразования (DLT) [1]. Этот подход формулирует однородную линейную систему уравнений, и решение получается путём обобщённого разложения собственных значений.
Поскольку координаты точек изображения задаются в значениях пикселей, подход для вычисления матрицы проекции камеры чувствителен к числовым ошибкам. Во избежание числовых ошибок координаты точек входного изображения нормализуются, так что их центроид находится в начале координат. Кроме того, среднеквадратичное расстояние точек изображения от начала координат равно . Эти шаги суммируют процесс оценки матрицы проекции камеры.
Нормализуйте координаты точки входного изображения с помощью преобразования T.
Оценка матрицы CN проекции камеры по нормализованным точкам входного изображения.
Вычислите денормализованную матрицу проекции камеры C, как CNT-1.
Вычислите повторно спроецированные координаты точки изображения xE как CX.
Вычислить ошибки повторного впрыска как
reprojateErrors = | x − xE |.
[1] Ричард, Х. и А. Зиссерман. Геометрия нескольких видов в компьютерном видении. Кембридж: Cambridge University Press, 2000.
cameraCalibrationErrors | cameraIntrinsics | extrinsicsEstimationErrors | intrinsicsEstimationErrors | stereoParameterscameraMatrix | detectCheckerboardPoints | estimateCameraParameters | estimateEssentialMatrix | estimateFundamentalMatrix | estimateWorldCameraPose | findNearestNeighbors | generateCheckerboardPoints | showExtrinsics | showReprojectionErrors | undistortImage