worldToImage

Мир проекта указывает в изображение

Описание

пример

imagePoints = worldToImage(cameraParams,rotationMatrix,translationVector,worldPoints) возвращает проекцию 3-D мировых точек в изображение, данное параметры камеры, матрицу вращения и вектор сдвига.

imagePoints = worldToImage(___'ApplyDistortion',distort) возвращает проекцию с опцией применения искажения. Этот синтаксис поддерживается для параметров камеры неподозрительного взгляда.

Примеры

свернуть все

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

images = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
      'calibration','slr'));

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

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

Сгенерируйте мировые координаты углов шахматной доски в центральной шаблоном системе координат с верхним левым углом в (0,0).

squareSize = 29; % in millimeters
worldPoints = generateCheckerboardPoints(boardSize,squareSize);

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

cameraParams = estimateCameraParameters(imagePoints,worldPoints);

Загрузите изображение в новом местоположении.

imOrig = imread(fullfile(matlabroot,'toolbox','vision','visiondata', ...
        'calibration','slr','image9.jpg'));

imshow(imOrig,'InitialMagnification',30);

Не исказите изображение.

imUndistorted = undistortImage(imOrig,cameraParams);

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

[imagePoints,boardSize] = detectCheckerboardPoints(imUndistorted);

Вычислите новые значения внешних параметров.

[R,t] = extrinsics(imagePoints,worldPoints,cameraParams);

Добавьте z-координату в мировые точки.

zCoord = zeros(size(worldPoints,1),1);
worldPoints = [worldPoints zCoord];

Спроектируйте мировые точки назад в оригинальное изображение.

projectedPoints = worldToImage(cameraParams,R,t,worldPoints);
hold on
plot(projectedPoints(:,1),projectedPoints(:,2),'g*-');
legend('Projected points');
hold off

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

свернуть все

Параметры камеры, заданные как cameraParameters или fisheyeParameters объект. Эти объекты содержат внутренний параметр, значение внешних параметров и параметры искажения объектива камеры.

3-D вращение мировых координат относительно координат изображений, заданных как 3х3 матрица. Матрица вращения, вместе с вектором сдвига, позволяет вам преобразовать точки от системы мировой координаты до системы координат камеры. rotationMatrix и translationVector входные параметры должны быть совпадающим типом данных.

Типы данных: double | single

3-D перевод мировых координат относительно координат изображений, заданных как 1 3 вектор. Вектор сдвига, вместе с матрицей вращения, позволяет вам преобразовать точки от системы мировой координаты до системы координат камеры. rotationMatrix и translationVector входные параметры должны быть совпадающим типом данных.

Типы данных: double | single

3-D мировые точки, заданные как M-by-3 матрица, содержащая M [x, y, z] координаты 3-D мировых точек.

Опция, чтобы применить искажение объектива, заданное как false или true. Когда вы устанавливаете этот аргумент на true, функция применяет искажение объектива к выходу imagePoints.

Этот аргумент допустим только при использовании cameraParameters возразите как cameraParams входной параметр.

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

свернуть все

Отобразите точки, возвращенные как M-by-2 матрица M [x, y] координаты точки.

Введенный в R2017b