vehicleToImage

Преобразуйте координаты транспортного средства, чтобы отобразить координаты

Описание

пример

imagePoints = vehicleToImage(monoCam,vehiclePoints) преобразует [x y] или [x y z] координаты транспортного средства к [x y] координаты изображений путем применения проективного преобразования. Монокулярный объект камеры, monoCam, содержит параметры камеры.

Примеры

свернуть все

Создайте монокулярный датчик камеры по ходу движения, смонтированный на автомобиле, оборудованном датчиком. Исследуйте изображение, полученное от камеры, и определите местоположения в изображении и в транспортном средстве и отобразите координаты.

Установите внутренние параметры камеры. Задайте фокусное расстояние, основную точку плоскости изображения и размер выходного изображения. Модули находятся в пикселях. Сохраните внутренние параметры как cameraIntrinsics объект.

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

intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize);

Задайте положение камеры. Позиционируйте камеру 2,18 метра над землей с подачей с 14 степенями к земле.

height = 2.18;
pitch = 14;

Задайте монокулярный датчик камеры с помощью внутренних параметров камеры и положения камеры. Загрузите изображение от камеры.

sensor = monoCamera(intrinsics,height,'Pitch',pitch);

Ioriginal = imread('road.png');
figure
imshow(Ioriginal)
title('Original Image')

Определите координаты изображений точки 10 метров непосредственно перед камерой. Ось X указывает вперед от камеры и точек Оси Y налево.

xyVehicleLoc1 = [10 0];
xyImageLoc1 = vehicleToImage(sensor,xyVehicleLoc1)
xyImageLoc1 = 1×2

  320.0000  216.2296

Отобразите точку на изображении.

IvehicleToImage = insertMarker(Ioriginal,xyImageLoc1);
IvehicleToImage = insertText(IvehicleToImage,xyImageLoc1 + 5,'10 meters');
figure
imshow(IvehicleToImage)
title('Vehicle-to-Image Point')

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

xyImageLoc2 = [300 300];
xyVehicleLoc2 = imageToVehicle(sensor,xyImageLoc2)
xyVehicleLoc2 = 1×2

    6.5959    0.1732

Точка составляет приблизительно 6,6 метров перед транспортным средством и приблизительно 0,17 метра слева от центра транспортного средства.

Отобразите координаты транспортного средства точки на изображении.

IimageToVehicle = insertMarker(Ioriginal,xyImageLoc2);
displayText = sprintf('(%.2f m, %.2f m)',xyVehicleLoc2);
IimageToVehicle = insertText(IimageToVehicle,xyImageLoc2 + 5,displayText);

figure
imshow(IimageToVehicle)
title('Image-to-Vehicle Point')

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

свернуть все

Монокулярные параметры камеры в виде monoCamera объект.

Транспортное средство указывает в виде M-by-2 или M-by-3 матрица, содержащая количество M [x y] или [x y z] координаты транспортного средства.

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

свернуть все

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

Смотрите также

Объекты

Функции

Введенный в R2017a