In diesem Wikiartikel wird dargestellt, wie wir eine Inverse Perspektiventransformation (IPT) auf ein Bild und ein Video angewendet haben. Die angewendete IPT war eine sogenannte Bird's Eye View-Transformation. Diese Technik bietet eine unverzerrte Draufsicht, die die Erkennung und Verfolgung von Fahrspuren erheblich erleichtert, da die Linien parallel und gleichmäßig erscheinen.
Kalibrierung der Kamera
Parameter
Nachweis der erfolgreichen Entzerrung
Für die Erstellung des kalibrierten Bildes wurden folgende von der App erstellten Parameter verwendet:
Tabelle 1: Erzeugte Parameter der Matlab Calibrator App
Parameter
Wert
FocalLength
[472.3687, 473.2485]
ImageSize
[478, 752]
RadialDistortion
[-0.3437, 0.1698, -0.0485]
TangentialDistortion
[0.0016, -0.0018]
PrincipalPoint
[386.103, 228.4705]
MeanReprojectionError
0.1542
Tabelle 2: Extrinsische Kameraparameter
Parameter
Wert
Kameraneigung
10°
Kamerahöhe über Boden
27,5cm
Fahrzeugfront bis Kamera
27cm
Fahrzeuglänge
41cm
Fahrzeugbreite
20cm
Inversen Perspektiventransformation
Beschreibung der MATLAB Funktion(en), Eingangs- und Ausgangsparameter
PAP
PAP Ihrer Lösung
Programmablaufplan
Quelltext
startInversePerspektivenTransformation.m
%****************************************************************% Hochschule Hamm-Lippstadt *%****************************************************************% Modul : SDE-Praktikum *% *% Datum : 20.06.2024 *% *% Funktion : Inverse Perspektiventransformation *% *% Implementation : MATLAB 2023a *% *% Req. Toolbox : Image Processing Toolbox *% Computer Vision Toolbox *% Automated Driving Toolbox *% *% Author : Paul Janzen, Daniel Block *% *% Bemerkung : *% *% Letzte Änderung : 20.06.2024 *% *%***************************************************************/%% Matlab vorbereitenclearallcloseallclc%% Pfade einstellen und Parameter ladenaddpath'D:\SVN\SDE_Praktikum_trunk\_Semesterordner\SS2024\Team_1_Block_Janzen\Termin_9\Aufgabe_9_1'addpath'D:\SVN\SDE_Praktikum_trunk\_Semesterordner\SS2024\Team_1_Block_Janzen\Termin_9\Bilder'load('cameraParams.mat')%% Bild ladeninputImage=imread('Geradeaus.png');%inputImage = imread('Linkskurve.png');%% Einstellen der notwendigen Parameter% Intrinsischen ParameercamIntrinsics=cameraIntrinsics(cameraParams2.FocalLength,cameraParams2.PrincipalPoint,cameraParams2.ImageSize);% Extrinsischen Parameterheight=0.275;pitch=10;sensor=monoCamera(camIntrinsics,height,'Pitch',pitch);% Einstellen der SichtweitedistAhead=3;spaceToOneSide=0.8;bottomOffset=0.275;outView=[bottomOffset,distAhead,-spaceToOneSide,spaceToOneSide];% IPT am Bild anwenden outImageSize=[NaN,250];birdsEyeConfig=birdsEyeView(sensor,outView,outImageSize);outputImage=transformImage(birdsEyeConfig,inputImage);%% Darstellung des Bildes in BirdeyeViewfigureimshow(outputImage);title('Geradeaus in BirdeyeView')%% Video ladenvideo=VideoReader('GeradeInKurve.mp4');% Video Writer initialisierenoutputVideoFile='GeradeInKurve_IPT.mp4';% Speichername des Bearbeiteten Videos festlegenoutputVideo=VideoWriter(outputVideoFile,'MPEG-4');% Datentyp des Neuen Videos festlegenoutputVideo.FrameRate=video.FrameRate;% Festlegen der gleichen Bildrate wie das Originalvideoopen(outputVideo);% Frames extrahieren, bearbeiten und in das neue Video schreibenwhilehasFrame(video)frame=readFrame(video);% Einlesen der einzelnen Frames% Frame bearbeitenprocessedFrame=transformImage(birdsEyeConfig,frame);% Frame mit der IPT transformeierenprocessedFrame=rgb2gray(processedFrame);% Bild in ein Graubild umwandelnprocessedFrame=imbinarize(processedFrame);% Bild in ein Binärbild umwandeln% Bearbeitete Frames in das neue Video schreibenwriteVideo(outputVideo,im2uint8(processedFrame));end% Video Writer schließenclose(outputVideo);
Ergebnisse
Darstellung der Ergebnisse
Links zu den Arbeitsergebnissen
Analyse
Tabelle 1: Problembeschreibung
Beschreibung
Das Problem ist..
Das Problem ist nicht...
Was genau ist das Problem?
Wo tritt das Problem auf?
Beispiel
Beispiel
Wie zeigt sich das Problem?
Beispiel
Beispiel
Wann tritt das Problem auf?
Beispiel
Beispiel
Warum ist es ein Problem?
Beispiel
Beispiel
Tabelle 2: Ursachenanalyse
Nr.
Beschreibung
1
Warum?
Tabelle 3: Maßnahmen zur Beseitigung der identifizierten Ursache(n)
Nr.
Maßnahme
Verantwortung
Termin
Status
1
Max Mustermann
Hinweis: Die Maßnahmen müssen nicht umgesetzt werden.