exponenta event banner

cameraIntrinsics

Объект для хранения собственных параметров камеры

Описание

Храните информацию о собственных параметрах калибровки камеры, включая параметры искажения объектива.

Создание

Описание

пример

intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize) возвращает внутренний объект камеры, содержащий фокусное расстояние, указанное как [fx, fy], и главную точку камеры, заданную как [cx, cy]. ПосмотритеcameraParameters для получения дополнительной информации.

intrinsics = cameraIntrinsics(___,Name,Value) использует дополнительные параметры, заданные одной или парами «имя-значение». Заключите каждое имя свойства в кавычки. Например, intrinsics = cameraIntrinsics('RadialDistortion',[0,0])

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

развернуть все

Фокусное расстояние камеры, указанное как двухэлементный вектор, [fx, fy].

fx = F × sx

fy = F × sy

  • F - фокусное расстояние в мировых единицах, обычно миллиметрах

  • [sx, sy] - количество пикселей в мировой единице в направлении x и y соответственно

  • fx и fy в пикселях

Оптический центр камеры, заданный как двухэлементный вектор, [cx, cy], в пикселях.

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

Свойства

развернуть все

Радиальное искажение линзы, указанное как разделенная запятыми пара, состоящая из RadialDistortion и двухэлементный вектор, [k1, k2], или трехэлементный вектор, [k1, k2, k3]. k1, k2 и k3 - коэффициенты радиального искажения. Радиальные искажения возникают, когда лучи света изгибаются больше вблизи краев линзы, чем в ее оптическом центре. Чем меньше линза, тем больше искажение.

Радиальные искажения возникают, когда лучи света изгибаются больше вблизи краев линзы, чем в ее оптическом центре. Чем меньше линза, тем больше искажение.

Объект параметров камеры вычисляет радиальное искаженное местоположение точки. Искаженные точки можно обозначить как (xdistorted, ydistorted) следующим образом:

xdistorted = x (1 + k1 * r2 + k2 * r4 + k3 * r6)(1)
ydistorted = y (1 + k1 * r2 + k2 * r4 + k3 * r6)(2)
x, y = неискаженные местоположения пикселей
k1, k2 и k3 = коэффициенты радиального искажения объектива
r2 = x2 + y2
Обычно достаточно двух коэффициентов. Для сильного искажения можно включить k3. Неискаженные местоположения пикселей отображаются в нормализованных координатах изображения с началом координат в оптическом центре. Координаты выражены в мировых единицах.

Коэффициенты тангенциального искажения, указанные как разделенная запятыми пара, состоящая из 'TangentialDistortionи 2-элементный вектор, [p1, p2]. Касательное искажение происходит, когда объектив и плоскость изображения не параллельны.

Объект параметров камеры вычисляет касательное искаженное местоположение точки. Искаженные точки можно обозначить как (xdistorted, ydistorted) следующим образом:

xdistorted = x + [2 * p1 * x * y + p2 * (r2 + 2 * x2)](3)
ydistorted = y + [p1 * (r2 + 2 * y2) + 2 * p2 * x * y](4)
x, y = неискаженные местоположения пикселей
p1 и p2 = коэффициенты тангенциального искажения линзы
r2 = x2 + y2
Неискаженные местоположения пикселей отображаются в нормализованных координатах изображения с началом координат в оптическом центре. Координаты выражены в мировых единицах.

Перекос осей камеры, указанный как разделенная запятыми пара, состоящая из 'skewи угол. Если оси x и y точно перпендикулярны, то наклон должен быть 0.

Это свойство доступно только для чтения.

Фокусное расстояние в x и y, сохраненное как 2-элементный вектор [fx, fy] в пикселях.

fx = F * sx
fy = F * sy
F - фокусное расстояние в мировых единицах, обычно в миллиметрах, и [sx, sy] - количество пикселей на мировую единицу в направлении x и y соответственно. Таким образом, fx и fy находятся в пикселях.

Фокусное расстояние F влияет на угол обзора и, таким образом, влияет на область сцены, которая кажется сфокусированной на изображении. Для фиксированного расстояния между предметами:

  • Короткое фокусное расстояние обеспечивает широкий угол обзора, позволяющий захватывать большую площадь сцены под фокусом. Он подчеркивает как тему, так и фон сцены.

  • Большое фокусное расстояние обеспечивает узкий угол обзора, тем самым уменьшая площадь фокуса сцены. Он делает больший упор на тему и ограничивает объем фонового изображения.

Это свойство доступно только для чтения.

Оптический центр камеры, хранящийся в виде двухэлементного вектора [cx, cy] в пикселях. Вектор содержит координаты оптического центра камеры.

Это свойство доступно только для чтения.

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

Это свойство доступно только для чтения.

Проекционная матрица, сохраненная как разделенная запятыми пара, состоящая из 'IntrinsicMatrixи матрица 3 на 3. Для формата матрицы объект использует следующий формат:

[fx00sfy0cxcy1]

Координаты [cx cy] представляют оптический центр (главную точку) в пикселях. Если оси x и y точно перпендикулярны, параметр наклона s равен 0.

fx = F * sx
fy = F * sy
F - фокусное расстояние в мировых единицах, обычно выраженное в миллиметрах.
[sx, sy] - количество пикселей в мировой единице в направлении x и y соответственно.
fx и fy выражены в пикселях.

Примеры

свернуть все

Определение параметров камеры без искажения или перекоса объектива.

Укажите фокусное расстояние и главную точку в пикселях.

    focalLength    = [800, 800]; 
    principalPoint = [320, 240];
    imageSize      = [480, 640];

Создание внутреннего объекта камеры.

intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize)
intrinsics = 
  cameraIntrinsics with properties:

             FocalLength: [800 800]
          PrincipalPoint: [320 240]
               ImageSize: [480 640]
        RadialDistortion: [0 0]
    TangentialDistortion: [0 0]
                    Skew: 0
         IntrinsicMatrix: [3x3 double]

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2017a