SoSe24 - Praktikum Systementwurf - Inverse Perspektiventransformation (IPT): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Kalibrierung der Kamera: Bild angepasst) |
(Bilder angepasst. Problem beschreibung angepasst) |
||
Zeile 159: | Zeile 159: | ||
== Ergebnisse == | == Ergebnisse == | ||
[[Datei:Geradeaus.png|500px|mini|links|Abbildung 3: Original Bild von Geradeaus]] | |||
[[Datei:Geradeaus IPT.jpg|170px|mini|zentriert|Abbildung 4: In BirdeyeView Umgewandeltes Bild ]] | |||
<br clear="all"> | |||
== Analyse == | == Analyse == | ||
Zeile 166: | Zeile 167: | ||
|+ Tabelle 1: Problembeschreibung | |+ Tabelle 1: Problembeschreibung | ||
|- | |- | ||
! Beschreibung !! Das Problem ist | ! Beschreibung !! Das Problem ist.. | ||
|- | |- | ||
| Was genau ist das Problem? || | | Was genau ist das Problem? || Neben der Fahrbahn werden auch Störelemente aufgenommen | ||
|- | |- | ||
| Wo tritt das Problem auf? || | | Wo tritt das Problem auf? || Die Kamera zeichnet die Störquellen mit auf | ||
|- | |- | ||
| Wie zeigt sich das Problem?|| | | Wie zeigt sich das Problem?|| Zusätzliche Kanten und Muster werden in den transformierten Bildern angezeigt | ||
|- | |- | ||
| Wann tritt das Problem auf?|| | | Wann tritt das Problem auf?|| Bei jedem aufgenommenen Bild | ||
|- | |- | ||
| Warum ist es ein Problem?|| | | Warum ist es ein Problem?|| Bei der Weiterarbeitung und Verwendung kann dies zu Fehl Schlüssen führen | ||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" |
Version vom 20. Juni 2024, 16:16 Uhr
![](/wiki/images/e/e5/GeradeInKurve_IPT.gif)
Autoren: | Daniel Block, Paul Janzen |
Thema: | Inverse Perspektiventransformation (IPT) |
Workshoptermin 9: | 20.06.2024 |
Lernzielkontrolle 3: | 04.07.2024 |
Einleitung
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
![](/wiki/images/thumb/f/f8/Original_und_EntzerrtesBild.jpg/800px-Original_und_EntzerrtesBild.jpg)
Für die Erstellung des kalibrierten Bildes wurden folgende von der App erstellten Parameter verwendet:
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 |
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
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 vorbereiten
clear all
close all
clc
%% Pfade einstellen und Parameter laden
addpath '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 laden
inputImage = imread('Geradeaus.png');
%inputImage = imread('Linkskurve.png');
%% Einstellen der notwendigen Parameter
% Intrinsischen Parameer
camIntrinsics = cameraIntrinsics(cameraParams2.FocalLength,cameraParams2.PrincipalPoint,cameraParams2.ImageSize);
% Extrinsischen Parameter
height = 0.275;
pitch = 10;
sensor = monoCamera(camIntrinsics,height,'Pitch',pitch);
% Einstellen der Sichtweite
distAhead = 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 BirdeyeView
figure
imshow(outputImage);
title('Geradeaus in BirdeyeView')
%% Video laden
video = VideoReader('GeradeInKurve.mp4');
% Video Writer initialisieren
outputVideoFile = 'GeradeInKurve_IPT.mp4'; % Speichername des Bearbeiteten Videos festlegen
outputVideo = VideoWriter(outputVideoFile, 'MPEG-4'); % Datentyp des Neuen Videos festlegen
outputVideo.FrameRate = video.FrameRate; % Festlegen der gleichen Bildrate wie das Originalvideo
open(outputVideo);
% Frames extrahieren, bearbeiten und in das neue Video schreiben
while hasFrame(video)
frame = readFrame(video); % Einlesen der einzelnen Frames
% Frame bearbeiten
processedFrame = transformImage(birdsEyeConfig, frame); % Frame mit der IPT transformeieren
processedFrame = rgb2gray(processedFrame); % Bild in ein Graubild umwandeln
processedFrame = imbinarize(processedFrame); % Bild in ein Binärbild umwandeln
% Bearbeitete Frames in das neue Video schreiben
writeVideo(outputVideo, im2uint8(processedFrame));
end
% Video Writer schließen
close(outputVideo);
|
Ergebnisse
![](/wiki/images/thumb/a/ac/Geradeaus.png/500px-Geradeaus.png)
![](/wiki/images/thumb/4/47/Geradeaus_IPT.jpg/170px-Geradeaus_IPT.jpg)
Analyse
Beschreibung | Das Problem ist.. |
---|---|
Was genau ist das Problem? | Neben der Fahrbahn werden auch Störelemente aufgenommen |
Wo tritt das Problem auf? | Die Kamera zeichnet die Störquellen mit auf |
Wie zeigt sich das Problem? | Zusätzliche Kanten und Muster werden in den transformierten Bildern angezeigt |
Wann tritt das Problem auf? | Bei jedem aufgenommenen Bild |
Warum ist es ein Problem? | Bei der Weiterarbeitung und Verwendung kann dies zu Fehl Schlüssen führen |
Nr. | Beschreibung |
---|---|
1 | Warum? |
Nr. | Maßnahme | Verantwortung | Termin | Status |
---|---|---|---|---|
1 | Max Mustermann | ![]() |
Hinweis: Die Maßnahmen müssen nicht umgesetzt werden.
Zusammenfassung
Beantwortung der Lernzielkontrollfragen
→ zurück zum Hauptartikel: Praktikum SDE | SDE-Team 2024/25 | Lernzielkontrolle 3