Wissensdatenbank Wirtschaftsrecht

aktuelles Dokument: MAEIVorverarbeitungInMatlab
image4
image3
image2
image1
 Alle Kategorien:
  Forschungsdatenbank
  Lehrveranstaltungen
  Lexikon
  Literatur
  Rechtsgebiete
  Rechtsprechung
  Service
  Studium F H S
  Wissensmanagement
ich war hier: MAEIVorverarbeitungInMatlab

Revision history for MAEIVorverarbeitungInMatlab


Revision [83288]

Last edited on 2017-08-16 16:39:07 by mstruening
Additions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen haben, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt dann die eigentliche Rotation und um den Rotationsprozess abzuschließen, addieren wir den Rotationsursprung wieder auf. Zur Übersicht zeichnen wir die alten Koordinaten rot und die neuen Koordinaten grün in einen Subplot ein.
Deletions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen haben, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt dann die eigentliche Rotation. Um den Rotationsprozess abzuschließen, addieren wir den Rotationsursprung wieder auf. Zur Übersicht zeichnen wir die alten Koordinaten rot und die neuen Koordinaten grün in einen Subplot ein.


Revision [82881]

Edited on 2017-08-14 14:38:51 by mstruening
Additions:
Als Nächstes verwerfen wir alle Informationen im Bild, die für die Kennzeichenerkennung unerheblich ist. Wir erstellen ein Polygon-Maske aus den Koordinaten-Vektoren //x// und //y// und stellen diese als Subplot dar. Danach multiplizieren wir die Pixelfarben der Maske und des Originalbilds elementweise miteinander. Das Ergebnis ist ein größtenteils geschwärztes Bild mit isoliertem Kennzeichen. Dieses tragen wir ebenfalls als Subplot ein.
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen haben, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt dann die eigentliche Rotation. Um den Rotationsprozess abzuschließen, addieren wir den Rotationsursprung wieder auf. Zur Übersicht zeichnen wir die alten Koordinaten rot und die neuen Koordinaten grün in einen Subplot ein.
Deletions:
Als Nächstes verwerfen wir alle Informationen im Bild, die für die Kennzeichenerkennung unerheblich ist. Wir erstellen ein Polygon-Maske aus den Koordinaten-Vektoren **x** und **y** und stellen diese als Subplot dar. Danach multiplizieren wir die Pixelfarben der Maske und des Originalbilds elementweise miteinander. Das Ergebnis ist ein größtenteils geschwärztes Bild mit isoliertem Kennzeichen. Dieses tragen wir ebenfalls als Subplot ein.
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt dann die eigentliche Rotation. Um den Rotationsprozess abzuschließen, addieren wir den Rotationsursprung wieder auf. Zur Übersicht zeichnen wir die alten Koordinaten rot und die neuen Koordinaten grün in einen Subplot ein.


Revision [82880]

Edited on 2017-08-14 14:36:41 by mstruening
Additions:
Im ersten automatisiertem Schritt laden wir das Bild in den Speicher und lesen die zugehörige INI-Datei aus. Darin finden wir, die von uns zuvor festgelegten Eckpunkte und den Kennzeichentext. Da MATLAB keinen direkten Support für INI-Dateien anbietet, verwenden wir dafür den INI-Reader von Primoz Cermelj, der auf Matlab Central ([[https://de.mathworks.com/matlabcentral/fileexchange/2976-inifile]]) zu finden ist. Jeden unserer Schritte stellen wir zur Nachvollziehbarkeit in einem eigenen Subplot dar. Das hat auch den Vorteil, dass Programmierfehler in den einzelnen Schritten besser erkannt werden können und uns somit das Debuggen erleichtert wird. Wir zeichnen schlussendlich noch die Eckpunkte aus der INI-Datei im Bild ein und weisen dem Subplot einen Titel zu.
Deletions:
Im ersten automatisiertem Schritt laden wir das Bild in den Speicher und lesen die zugehörige INI-Datei aus. Darin finden wir, die von uns zuvor festgelegten Eckpunkte und den Kennzeichentext. Da MATLAB keinen direkten Support für INI-Dateien anbietet, verwenden wir dafür den INI-Reader von Primoz Cermelj, der auf Matlab Central ([[https://de.mathworks.com/matlabcentral/fileexchange/2976-inifile]]) zu finden ist. Jeden unserer Schritte stellen wir zur Nachvollziehbarkeit in einem eigenen Subplot dar. Das hat auch den Vorteil, dass Programmierfehler in den einzelnen Schritten besser erkannt werden können und uns somit das Debuggen erleichtert wird. Wir zeichnen schlussendlich noch die Eckpunkte aus der INI-Dateie im Bild ein und weisen dem Subplot einen Titel zu.


Revision [82879]

Edited on 2017-08-14 14:36:20 by mstruening
Additions:
Im ersten automatisiertem Schritt laden wir das Bild in den Speicher und lesen die zugehörige INI-Datei aus. Darin finden wir, die von uns zuvor festgelegten Eckpunkte und den Kennzeichentext. Da MATLAB keinen direkten Support für INI-Dateien anbietet, verwenden wir dafür den INI-Reader von Primoz Cermelj, der auf Matlab Central ([[https://de.mathworks.com/matlabcentral/fileexchange/2976-inifile]]) zu finden ist. Jeden unserer Schritte stellen wir zur Nachvollziehbarkeit in einem eigenen Subplot dar. Das hat auch den Vorteil, dass Programmierfehler in den einzelnen Schritten besser erkannt werden können und uns somit das Debuggen erleichtert wird. Wir zeichnen schlussendlich noch die Eckpunkte aus der INI-Dateie im Bild ein und weisen dem Subplot einen Titel zu.
Deletions:
Im ersten automatisiertem Schritt laden wir das Bild in den Speicher und lesen die zugehörige INI-Datei aus. Darin finden wir, die von uns zuvor festgelegten Eckpunkte und den Kennzeichentext. Da MATLAB keinen direkten Support für INI-Dateien anbietet, verwenden wir dafür den INI-Reader von Primoz Cermelj, der auf Matlab Central ([[https://de.mathworks.com/matlabcentral/fileexchange/2976-inifile]]) zu finden ist. Jeden unserer Schritte stellen wir zur Nachvollziehbarkeit in einem eigenen Subplot dar. Das hat auch den Vorteil, dass Programmierfehler in den einzelnen Schritten besser erkannt werden können und uns somit das Debuggen erleichtert wird. Wir zeichnen schlussendlich noch die Eckpunkte aus den INI-Dateien im Bild ein und weisen dem Subplot einen Titel zu.


Revision [82878]

Edited on 2017-08-14 14:35:33 by mstruening
Additions:
Als Nächstes verwerfen wir alle Informationen im Bild, die für die Kennzeichenerkennung unerheblich ist. Wir erstellen ein Polygon-Maske aus den Koordinaten-Vektoren **x** und **y** und stellen diese als Subplot dar. Danach multiplizieren wir die Pixelfarben der Maske und des Originalbilds elementweise miteinander. Das Ergebnis ist ein größtenteils geschwärztes Bild mit isoliertem Kennzeichen. Dieses tragen wir ebenfalls als Subplot ein.
Deletions:
Als Nächstes verwerfen wir alle Informationen im Bild, die für die Kennzeichenerkennung unerheblich ist. Wir erstellen ein Polygon-Maske aus den Koordinaten-Vektoren *x* und *y* und stellen diese als Subplot dar. Danach multiplizieren wir die Pixelfarben der Maske und des Originalbilds elementweise miteinander. Das Ergebnis ist ein größtenteils geschwärztes Bild mit isoliertem Kennzeichen. Dieses tragen wir ebenfalls als Subplot ein.


Revision [81563]

Edited on 2017-07-14 14:12:47 by mstruening
Additions:
close all, subplot(3,3,1), imshow(IMG_1_input), hold on
subplot(3,3,3), imshow(IMG_3_cutOut), title('Ausschnitt')
subplot(3,3,4), imshow(IMG_4_rotated), title('Begradigung')
Deletions:
close all, subplot(2,3,1), imshow(IMG_1_input), hold on
subplot(2,3,3), imshow(IMG_3_cutOut), title('Ausschnitt')
subplot(2,3,4), imshow(IMG_4_rotated), title('Begradigung')


Revision [81481]

Edited on 2017-07-12 16:56:18 by mstruening
Additions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt dann die eigentliche Rotation. Um den Rotationsprozess abzuschließen, addieren wir den Rotationsursprung wieder auf. Zur Übersicht zeichnen wir die alten Koordinaten rot und die neuen Koordinaten grün in einen Subplot ein.
Deletions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt dann die eigentliche Rotation. Zum Abschluss addieren wir den Rotationsursprung wieder auf. Wir zeichnen abschließend die alten Koordinaten rot und die neuen Koordinaten grün in einen Subplot ein.


Revision [81480]

Edited on 2017-07-12 16:54:38 by mstruening
Deletions:
{{files}}


Revision [81479]

Edited on 2017-07-12 16:54:29 by mstruening
Additions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt dann die eigentliche Rotation. Zum Abschluss addieren wir den Rotationsursprung wieder auf. Wir zeichnen abschließend die alten Koordinaten rot und die neuen Koordinaten grün in einen Subplot ein.
Deletions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt dann die eigentliche Rotation. Zum Abschluss addieren wir den Rotationsursprung wieder auf.


Revision [81478]

Edited on 2017-07-12 16:51:49 by mstruening
Additions:
>>{{image url="CBI05_Schritt4.jpg" title="Begradigung" width="400" class="center"}}>>


Revision [81477]

Edited on 2017-07-12 16:50:54 by mstruening
Additions:
{{files}}
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt dann die eigentliche Rotation. Zum Abschluss addieren wir den Rotationsursprung wieder auf.
Deletions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt die eigentliche Rotation. Zum Abschluß addieren wir den Rotationsursprung wieder auf.


Revision [81476]

Edited on 2017-07-12 16:44:49 by mstruening
Additions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel //alphaInRad// um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mitte des Bildes. Eine einfache Multiplikation mit der Rotationsmatrix würde um den Nullpunkt rotieren. Da wir aber um den definierten Rotationsursprung //origin// rotieren wollen, müssen wir diesen zuvor von der Punktkoordinate subtrahieren. Das Ergebnis muss transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt die eigentliche Rotation. Zum Abschluß addieren wir den Rotationsursprung wieder auf.
Deletions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel Alpha um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mittel des Bildes. Die Multiplikation mit der Rotationsmatrix rotiert immer um den Nullpunkt, deshalb muss zuvor der gewollte Rotationsursprung //origin// von der Punktkoordinate subtrahiert werden. Dann muss das Ergebnis transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt die eigentliche Rotation. Zum Abschluß addieren wir den Rotationsursprung wieder auf.


Revision [81475]

Edited on 2017-07-12 16:39:58 by mstruening
Additions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, muss dies händisch durchgeführt werden. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel Alpha um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mittel des Bildes. Die Multiplikation mit der Rotationsmatrix rotiert immer um den Nullpunkt, deshalb muss zuvor der gewollte Rotationsursprung //origin// von der Punktkoordinate subtrahiert werden. Dann muss das Ergebnis transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt die eigentliche Rotation. Zum Abschluß addieren wir den Rotationsursprung wieder auf.
Deletions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, müssen wir die Rotation händisch durchführen. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel Alpha um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mittel des Bildes. Die Multiplikation mit der Rotationsmatrix rotiert immer um den Nullpunkt, deshalb muss zuvor der gewollte Rotationsursprung //origin// von der Punktkoordinate subtrahiert werden. Dann muss das Ergebnis transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt die eigentliche Rotation. Zum Abschluß addieren wir den Rotationsursprung wieder auf.


Revision [81474]

Edited on 2017-07-12 16:38:59 by mstruening

No Differences

Revision [81473]

Edited on 2017-07-12 16:38:21 by mstruening
Additions:
Durch die Rotation des Bildes in Schritt c) stimmen die Eckpunkte des Kennzeichens nicht mehr mit den angegebenen Polygon-Eckpunkten aus unserer INI-Datei überein. Die Rotation, die wir am Bild vorgenommen, müssen wir deshalb identisch auf die Polygon-Eckpunkte übertragen. Da dafür kein spezieller Befehl zur Verfügung steht, müssen wir die Rotation händisch durchführen. Wir erzeugen also erst einmal eine Rotationsmatrix //R// mit dem Winkel Alpha um den wir zuvor begradigt haben und definieren unseren Rotationsursprung in der Mittel des Bildes. Die Multiplikation mit der Rotationsmatrix rotiert immer um den Nullpunkt, deshalb muss zuvor der gewollte Rotationsursprung //origin// von der Punktkoordinate subtrahiert werden. Dann muss das Ergebnis transponiert werden, damit Matrix und Vektor multipliziert werden können. Durch die Multiplikation mit der Rotationsmatrix erfolgt die eigentliche Rotation. Zum Abschluß addieren wir den Rotationsursprung wieder auf.


Revision [81466]

Edited on 2017-07-12 15:01:31 by mstruening
Additions:
%Rotationsmatrix erzeugen
R = [cos(alphaInRad) sin(alphaInRad); -sin(alphaInRad) cos(alphaInRad)];
%Koordinatenursprung in Bildmitte
origin = [320 240];
%Einzelne Eckpunkte transformieren
for k = 1:4
vertex = [x(k) y(k)];
vertex = R * (vertex - origin)' + origin';
x_corrected(k) = vertex(1);
y_corrected(k) = vertex(2);
end
% Neue Koordinaten (grün) und alte Koordinaten (rot) plotten
subplot(3,3,5), imshow(IMG_4_rotated), title('Punkttransformation'), hold on
plot(x, y, 'r+')
plot(x_corrected, y_corrected, 'g.')
Deletions:
%Rotationsmatrix erzeugen
R = [cos(alphaInRad) sin(alphaInRad); -sin(alphaInRad) cos(alphaInRad)];
%Koordinatenursprung in Bildmitte
origin = [320 240];
%Einzelne Eckpunkte transformieren
for k = 1:4
vertex = [x(k) y(k)];
vertex = R * (vertex - origin)' + origin';
x_corrected(k) = vertex(1);
y_corrected(k) = vertex(2);
end
subplot(3,3,5), imshow(IMG_4_rotated), title('Punkttransformation'), hold on
plot(x, y, 'r+')
plot(x_corrected, y_corrected, 'g.')


Revision [81462]

Edited on 2017-07-12 15:00:03 by mstruening

No Differences

Revision [81461]

Edited on 2017-07-12 14:59:49 by mstruening
Additions:
=== ((3)) Kennzeichen begradigen ===
=== ((3)) Polygon-Koordinaten an Begradigung anpassen ===
% Polygon-Koordinaten transformieren

%Rotationsmatrix erzeugen
R = [cos(alphaInRad) sin(alphaInRad); -sin(alphaInRad) cos(alphaInRad)];

%Koordinatenursprung in Bildmitte
origin = [320 240];

%Einzelne Eckpunkte transformieren
for k = 1:4
vertex = [x(k) y(k)];
vertex = R * (vertex - origin)' + origin';
x_corrected(k) = vertex(1);
y_corrected(k) = vertex(2);
end
subplot(3,3,5), imshow(IMG_4_rotated), title('Punkttransformation'), hold on
plot(x, y, 'r+')
plot(x_corrected, y_corrected, 'g.')
Deletions:
=== ((3)) Kennzeichnen begradigen ===


Revision [81429]

Edited on 2017-07-11 18:37:21 by mstruening
Deletions:
{{files}}


Revision [81428]

Edited on 2017-07-11 15:32:16 by mstruening
Additions:
>>{{image url="CBI01_KFZExpert.jpg" width="400" title="Das Programm KFZ-Expert" class="center"}}>>
>>{{image url="CBI02_Schritt1.jpg" title="Markierung der Eckpunkte" class="center" width="400"}}>>
>>{{image url="CBI03_Schritt2.jpg" title="Maskierung" width="400" class="center"}}>>
>>{{image url="CBI04_Schritt3.jpg" title="Begradigung" width="400" class="center"}}>>
Deletions:
>>{{image url="CBI01_KFZExpert.jpg" width="300" title="Das Programm KFZ-Expert" class="center"}}>>
>>{{image url="CBI02_Schritt1.jpg" title="Markierung der Eckpunkte" class="center" width="200"}}>>
>>{{image url="CBI03_Schritt2.jpg" title="Maskierung" width="300" class="center"}}>>
>>{{image url="CBI04_Schritt3.jpg" title="Begradigung" class="left" width="300" class="center"}}>>


Revision [81427]

Edited on 2017-07-11 15:31:37 by mstruening
Additions:
>>{{image url="CBI01_KFZExpert.jpg" width="300" title="Das Programm KFZ-Expert" class="center"}}>>
Deletions:
>>{{image url="CBI01_KFZExpert.jpg" width="400" title="Das Programm KFZ-Expert" class="center"}}>>


Revision [81426]

Edited on 2017-07-11 15:30:43 by mstruening
Additions:
>>{{image url="CBI03_Schritt2.jpg" title="Maskierung" width="300" class="center"}}>>
Deletions:
>>{{image url="CBI03_Schritt2_b.jpg" title="Maskierung" width="200" class="center"}}>>


Revision [81425]

Edited on 2017-07-11 15:30:02 by mstruening
Additions:
>>{{image url="CBI02_Schritt1.jpg" title="Markierung der Eckpunkte" class="center" width="200"}}>>
Deletions:
>>{{image url="CBI02_Schritt1.jpg" title="Markierung der Eckpunkte" class="center"}}>>


Revision [81424]

Edited on 2017-07-11 15:29:23 by mstruening
Additions:
>>{{image url="CBI04_Schritt3.jpg" title="Begradigung" class="left" width="300" class="center"}}>>
Deletions:
>>{{image url="CBI04_Schritt3.jpg" title="Begradigung" class="left" width="400" class="center"}}>>


Revision [81423]

Edited on 2017-07-11 15:28:39 by mstruening
Additions:
>>{{image url="CBI03_Schritt2_b.jpg" title="Maskierung" width="200" class="center"}}>>
Deletions:
>>{{image url="CBI03_Schritt2_b.jpg" title="Maskierung" width="400" class="center"}}>>


Revision [81422]

Edited on 2017-07-11 15:28:12 by mstruening
Additions:
>>{{image url="CBI03_Schritt2_b.jpg" title="Maskierung" width="400" class="center"}}>>
Deletions:
>>{{image url="CBI03_Schritt2.jpg" title="Maskierung" width="400" class="center"}}>>


Revision [81421]

Edited on 2017-07-11 15:27:22 by mstruening
Additions:
{{files}}


Revision [81215]

Edited on 2017-07-10 13:21:14 by mstruening
Additions:
%Ergebnis als Subplot eintragen
alphaInDeg = alphaInRad * 180 / pi;
%Subplot eintragen
Deletions:
%Ergebnis als Subplot oben-rechts eintragen
alphaInDeg= alphaInRad * 180 / pi;
%Subplot unten-links eintragen


Revision [81214]

Edited on 2017-07-10 13:19:38 by mstruening
Additions:
>>{{image url="CBI01_KFZExpert.jpg" width="400" title="Das Programm KFZ-Expert" class="center"}}>>
>>{{image url="CBI04_Schritt3.jpg" title="Begradigung" class="left" width="400" class="center"}}>>
Deletions:
>>{{image url="CBI01_KFZExpert.jpg" width="400px" title="Das Programm KFZ-Expert" class="center"}}>>
>>{{image url="CBI04_Schritt3.jpg" title="Begradigung" class="left" width="600" class="center"}}>>


Revision [81213]

Edited on 2017-07-10 13:18:58 by mstruening
Additions:
>>{{image url="CBI03_Schritt2.jpg" title="Maskierung" width="400" class="center"}}>>
Deletions:
>>{{image url="CBI03_Schritt2.jpg" title="Maskierung" width="600" class="center"}}>>


Revision [81122]

Edited on 2017-07-06 16:54:57 by mstruening
Deletions:
{{files}}


Revision [81121]

Edited on 2017-07-06 16:52:01 by mstruening
Additions:
{{files}}


Revision [81120]

Edited on 2017-07-06 16:51:25 by mstruening
Deletions:
CategoryTutoriumMobileEmbeddedIntelligence


Revision [81119]

Edited on 2017-07-06 16:50:43 by mstruening
Additions:
CategoryTutoriumMobileEmbeddedIntelligence
Deletions:
CategoryInfoTutorien


Revision [81116]

The oldest known version of this page was created on 2017-07-06 16:46:10 by mstruening
Valid XHTML   |   Valid CSS:   |   Powered by WikkaWiki