cameraIntrinsics

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

Описание

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

Создание

Синтаксис

intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize)
intrinsics = cameraIntrinsics(___,Name,Value)

Описание

пример

intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize) возвращает камеру intrinsics объект, который содержит фокусное расстояние, заданное как [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 являются радиальными коэффициентами искажения. Радиальное искажение происходит, когда световые лучи изгибаются более близкий ребра линзы, чем они делают в ее оптическом центре. Чем меньший линза, тем больше искажение.

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

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

x, искаженный = x (1 + k 1*r2 + k 2*r4 + k 3*r6) (1)
y, искаженный = y (1 + k 1*r2 + k 2*r4 + k 3*r6) (2)
x, y = неискаженные пиксельные местоположения
k 1, k 2, и k 3 = радиальные коэффициенты искажения линзы
r 2 = x 2 + y 2
Как правило, два коэффициента достаточны. Для серьезного искажения можно включать k 3. Неискаженные пиксельные местоположения появляются в нормированных координатах изображений с источником в оптическом центре. Координаты выражаются в мировых модулях.

Тангенциальные коэффициенты искажения, заданные как пара, разделенная запятой, состоящая из 'TangentialDistortion' и вектора с 2 элементами, [p 1, p 2]. Тангенциальное искажение происходит, когда линза и плоскость изображения не параллельны.

Объект параметров камеры вычисляет тангенциальное искаженное местоположение точки. Можно обозначить искаженные точки как (искаженный x, искаженный y), можно следующим образом:

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

Скос осей камеры, заданный как пара, разделенная запятой, состоящая из '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, фокусное расстояние в мировых модулях, обычно выраженных в миллиметрах.
[s x, s y] является количеством пикселей на мировой модуль в x и направлении y соответственно.
fx и fy выражаются в пикселях.

Примеры

свернуть все

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

Задайте фокусное расстояние и основную точку в пикселях.

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

Создайте камеру intrinsics объект.

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]

Введенный в R2017a