cameraIntrinsicsToOpenCV

Преобразуйте параметры внутреннего параметра камеры от MATLAB до OpenCV

Описание

пример

[intrinsicMatrix,distortionCoefficients] = cameraIntrinsicsToOpenCV(intrinsics) преобразует MATLAB® cameraIntrinsics или cameraParameters объект, заданный intrinsics, к параметрам внутреннего параметра камеры OpenCV.

Система пространственной координаты OpenCV задает верхний левый пиксельный центр в (0,0), тогда как система пространственной координаты MATLAB задает пиксельный центр в (1,1). cameraIntrinsicsToOpenCV функция компенсирует это различие путем вычитания 1 и от x и от y - значения для конвертированной основной точки.

Параметры внутреннего параметра камеры OpenCV не включают скос модели камеры с точечной диафрагмой. Поэтому только внутренние параметры, которые были оценены без скоса, могут быть экспортированы в OpenCV.

Примеры

свернуть все

Создайте набор калибровочных изображений.

images = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
                        'calibration','mono'));
imageFileNames = images.Files;

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

[imagePoints,boardSize] = detectCheckerboardPoints(imageFileNames);

Сгенерируйте мировые координаты углов квадратов. Размер квадратов находится в миллиметрах.

squareSize = 29;
worldPoints = generateCheckerboardPoints(boardSize,squareSize);

Калибруйте камеру.

I = readimage(images,1); 
imageSize = [size(I,1),size(I,2)];
params = estimateCameraParameters(imagePoints,worldPoints, ...
                                  ImageSize=imageSize);

Преобразуйте внутренние параметры в формат OpenCV

[intrinsicMatrix,distortionCoefficients] = cameraIntrinsicsToOpenCV(params);

Входные параметры

свернуть все

Параметры внутреннего параметра камеры в виде cameraIntrinsics или cameraParameters объект.

Выходные аргументы

свернуть все

Матрица внутренних параметров камеры отформатирована для OpenCV, возвращенного как 3х3 матрица формы:

[fx0cx0fycy001]

где fx и fy являются фокусными расстояниями в x и y - направления и (cx,cy) являются основной точкой в OpenCV.

Камера радиальные и тангенциальные коэффициенты искажения, возвращенные как вектор с пятью элементами в форме [k1 k2 p1 p2 k3]. Значения k1, k2 и k3 описывают радиальное искажение, и p1 и p2 описывают тангенциальное искажение, заданное в OpenCV.

Введенный в R2021b