Преобразуйте изображение к виду с высоты птичьего полета
J = transformImage(birdsEye,I)
преобразовывает входное изображение, J
= transformImage(birdsEye
,I
)I
, к изображению вида с высоты птичьего полета, J
. Свойства OutputView
и ImageSize
объекта birdsEyeView
, birdsEye
, определяют фрагмент I
, чтобы преобразовать и размер J
, соответственно.
Создайте изображение вида с высоты птичьего полета из изображения, полученного обращенной к передней стороне камерой, смонтированной на автомобиле. Отобразите точки в виде с высоты птичьего полета с помощью автомобиля и отобразите системы координат.
Задайте камеру intrinsics и создайте объект, содержащий эти intrinsics.
focalLength = [309.4362 344.2161]; principalPoint = [318.9034 257.5352]; imageSize = [480 640]; camIntrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize);
Установите высоту камеры составлять приблизительно 2 метра над землей. Установите подачу камеры до 14 градусов к земле.
height = 2.1798; pitch = 14;
Создайте объект, содержащий настройку камеры.
sensor = monoCamera(camIntrinsics,height,'Pitch',pitch);
Задайте область перед камерой, которую вы хотите преобразовать в вид с высоты птичьего полета. Установите область от 3 до 30 метров перед камерой с 6 метрами любой стороне камеры.
distAhead = 30; spaceToOneSide = 6; bottomOffset = 3; outView = [bottomOffset,distAhead,-spaceToOneSide,spaceToOneSide];
Установите ширину выходного изображения на 250 пикселей. Вычислите продолжительность вывода автоматически из ширины путем установки длины на NaN
.
outImageSize = [NaN,250];
Создайте объект для выполнения вида с высоты птичьего полета, преобразовывает, с помощью ранее заданных параметров.
birdsEye = birdsEyeView(sensor,outView,outImageSize);
Загрузите изображение, которое было получено датчиком.
I = imread('road.png'); figure imshow(I) title('Original Image')
Преобразуйте входное изображение в изображение вида с высоты птичьего полета.
BEV = transformImage(birdsEye,I);
В изображении вида с высоты птичьего полета поместите 20-метровый маркер непосредственно перед датчиком. Используйте функцию vehicleToImage
, чтобы задать местоположение маркера в координатах автомобиля. Отобразите маркер на изображении вида с высоты птичьего полета.
imagePoint = vehicleToImage(birdsEye,[20 0]); annotatedBEV = insertMarker(BEV,imagePoint); annotatedBEV = insertText(annotatedBEV,imagePoint + 5,'20 meters'); figure imshow(annotatedBEV) title('Bird''s-Eye-View Image: vehicleToImage')
Задайте местоположение в исходном изображении вида с высоты птичьего полета, на этот раз в координатах изображений. Используйте функцию imageToVehicle
, чтобы преобразовать координаты изображений, чтобы транспортировать координаты. Отобразите расстояние между маркером и передней стороной автомобиля.
imagePoint2 = [120 400]; annotatedBEV = insertMarker(BEV,imagePoint2); vehiclePoint = imageToVehicle(birdsEye,imagePoint2); xAhead = vehiclePoint(1); displayText = sprintf('%.2f meters',xAhead); annotatedBEV = insertText(annotatedBEV,imagePoint2 + 5,displayText); figure imshow(annotatedBEV) title('Bird''s-Eye-View Image: imageToVehicle')
birdsEye
— Объект для преобразования изображения к виду с высоты птичьего полетаbirdsEyeView
Объект для преобразования изображения к виду с высоты птичьего полета, заданному как объект birdsEyeView
.
I
Введите изображениеВведите изображение, заданное как истинный цвет или полутоновое изображение. Свойство OutputView
birdsEye
определяет фрагмент I
, чтобы преобразовать к виду с высоты птичьего полета.
I
не должен содержать искажение объектива. Можно удалить искажение объектива при помощи функции undistortImage
. В высокопроизводительной оптике можно проигнорировать искажение.
J
Изображение вида с высоты птичьего полетаИзображение вида с высоты птичьего полета, возвращенное как истинный цвет или полутоновое изображение. Свойство ImageSize
birdsEye
определяет размер J
.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.