Wissensdatenbank Wirtschaftsrecht

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

Version [80871]

Dies ist eine alte Version von ComputerBasierteIntelligenzVorverarbeitung erstellt von mstruening am 2017-07-03 20:39:47.

 

Kennzeichenerkennung


Datenvorverarbeitung in MATLAB


Vorbereitung


Für dieses Tutorium wurde Ihnen ein Archiv mit folgenden Inhalten bereitgestellt:
  • 100 Bilddateien von Kraftfahrzeugen mit mehr oder weniger erkennbaren Kennzeichen
  • Zugehörige INI-Dateien
  • Das Werkzeug "KFZ-Expert"

1. Manuelle Vorverarbeitung


Als erstes müssen alle 100 Bilddateien von Ihnen mit dem Programm "KFZ-Expert" bearbeitet werden. "KFZ-Expert" ermöglicht Ihnen das Setzen der ROI und des erwarteten Klassifikationsergebnisses. Wenn Sie das Programm gestartet haben, setzen Sie bitte als Erstes das Verzeichnis mit den Kennzeichen-Bildern aus den Archiv im mittleren Teil des Programms und wählen Sie das erste Bild aus.

Sie sollten jetzt in der oberen linken Ecke ein Bild eines Fahrzeugs sehen. Im unteren Teil sehen sie die ausgewählte ROI, die nicht unbedingt optimal gesetzt ist. Ihre Aufgabe besteht jetzt darin, für alle 100 Bilder die Eckpunkte so zu setzen, dass sich möglichst das vollständige Kennzeichen im roten Rahmen befindet und der Rahmen keine Zeichen schneidet. Außerdem sollten die Kanten des Rahmens zur Ausrichtung der Buchstaben parallel sein, wie es im folgenden Bild zu sehen ist. Zudem sollen Sie den Text des Kennzeichens und ob es vollständig zu sehen ist in der Software in die entsprechenden Felder eintragen. Bitte verzichten Sie auf die Eingabe von Leerzeichen im Kennzeichen und geben sie 0 und 1 anstelle von O und I an. Die Software speichert automatisch alle Änderungen in einer INI-Datei mit identischem Namen zum Bild.


Das Programm KFZ-Expert
Steuerung von KFZ-Expert:
  • Ein Mausklick ins Originalbild setzt den aktuellen Eckpunkt des Polygons auf die Klickposition.
  • Der aktuelle Eckpunkt kann mit der rechten Maustaste durchgeschaltet werden
  • Pfeil Hoch und Pfeil Runter auf der Tastatur wechseln zum nächsten bzw. vorherigen Bild
  • Ein Mausklick in den unteren Teil des Programms (den skalierten Ausschnitt des Originalbildes) setzt immer den der Klickposition nächsten Eckpunkt, sofern nicht zu weit weg geklickt wird. Somit können die Eckpunkte präzisiert werden.

2. Automatisierte Vorverarbeitung


Die Vorgehensweise der automatisierten Vorverarbeitung soll vorerst nur an einem einzigen Bild demonstriert werden. Für das maschinelle Lernen werden die folgenden Schritte später an allen 100 Bildern wiederholt.

A. Bilder und zugehörige INI-Dateien einlesen

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. Für das Parsen der INI-Datei verwenden wir den INI-Reader von Primoz Cermelj aus der Matlab Central (https://de.mathworks.com/matlabcentral/fileexchange/2976-inifile).

% Bilder und zugehörige INI-Dateien einlesen  
    %Dateipfad Eingabedaten
    PATH_inputImg = ['data\img00' num2str(dataIndex)];
   
    %Dateipfad Ausgabebild
    PATH_outputImg = ['graf\img00' num2str(dataIndex)];
   
    %Eingabebild einlesen
    IMG_1_input = imread([PATH_inputImg '.jpg']);
   
    %Eingabebild in Subplot oben-links eintragen
    close all, subplot(2,3,1), imshow(IMG_1_input), hold on
   
    %Cell Array für INI-Read konstruieren
    %   Mit Funktion inifile(iniFileName, mode, modeParams)
    %   Jede Zeile in CellArray 'readParams' muss enthalten:
    %   Section, Subsection, Key, Format(s:string, d:double)
   
    %Reihenfolge: Kennzeichentext, x-Koordinaten, y-Koordinaten
    section = 'Plate';
    readParams = {section,'','name','s';
                  section,'','x1','d';
                  section,'','x2','d';
                  section,'','x3','d';
                  section,'','x4','d';
                  section,'','y1','d';
                  section,'','y2','d';
                  section,'','y3','d';
                  section,'','y4','d'};
    %INI-Read ausführen
    %Ergebnisse liegen in selber Reihenfolge wie mit readParams angefordert
    iniValues = inifile([PATH_inputImg '.ini'], 'read', readParams);
   
    %Erste Zeile: Kennzeichentext
    plateText = iniValues{1,1};
   
    %Zeile 2-5: x-Koordinaten
    x = cell2mat(iniValues(2:5));
   
    %Zeile 6-9: y-Koordinaten
    y = cell2mat(iniValues(6:9));
   
    %Polygon-Koordinaten in Original-Bild eintragen
    plot(x, y,'g*')
   
    %Bildindex und Kennzeichen als Titel
    title(['Bild: ' num2str(dataIndex) '  ' plateText])
Originalbild mit markierten Eckpunkten des Kennzeichens

CategoryInfoTutorien
Diese Seite wurde noch nicht kommentiert.
Valid XHTML   |   Valid CSS:   |   Powered by WikkaWiki