stereoParametersToOpenCV

Преобразуйте параметры стереофотоаппарата от MATLAB до OpenCV

Описание

пример

[intrinsicMatrix1,distortionCoefficients1,intrinsicMatrix2,distortionCoefficients2,rotationOfCamera2,translationOfCamera2,imageSize] = stereoParametersToOpenCV(stereoParams) преобразует MATLAB® stereoParameters объект stereoParams к параметрам стерео OpenCV.

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

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

Примеры

свернуть все

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

leftImages = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
   'calibration','stereo','left'));
rightImages = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
   'calibration','stereo','right'));

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

[imagePoints,boardSize] = detectCheckerboardPoints(leftImages.Files,rightImages.Files);

Задайте мировые координаты шахматной доски keypoints в миллиметрах.

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

Калибруйте систему стереофотоаппарата. Обе камеры имеют то же разрешение.

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

Преобразуйте объект параметров стерео MATLAB в формат OpenCV.

[intrinsicMatrix1,distortionCoefficients1,intrinsicMatrix2, ...
   distortionCoefficients2,rotationOfCamera2,translationOfCamera2] =... 
   stereoParametersToOpenCV(stereoParams);

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

свернуть все

Параметры стерео в виде stereoParameters объект.

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

свернуть все

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

[fx0cx0fycy001]

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

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

[fx0cx0fycy001]

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

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

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

Вращение камеры 2 относительно камеры 1 от OpenCV в виде 3х3 матрицы.

Перевод камеры 2 относительно камеры 1 от OpenCV в виде трехэлементного вектора.

Размер изображения в виде двухэлементного вектора в форме [mrows, ncols].

Введенный в R2021b