LU504930B1 - A MATLAB BASED LICENSE PLATE RECOGNITION SYSTEM - Google Patents
A MATLAB BASED LICENSE PLATE RECOGNITION SYSTEM Download PDFInfo
- Publication number
- LU504930B1 LU504930B1 LU504930A LU504930A LU504930B1 LU 504930 B1 LU504930 B1 LU 504930B1 LU 504930 A LU504930 A LU 504930A LU 504930 A LU504930 A LU 504930A LU 504930 B1 LU504930 B1 LU 504930B1
- Authority
- LU
- Luxembourg
- Prior art keywords
- license plate
- image
- module
- plate recognition
- matlab
- Prior art date
Links
- 238000007781 pre-processing Methods 0.000 claims abstract description 15
- 238000000605 extraction Methods 0.000 claims abstract description 11
- 238000012706 support-vector machine Methods 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 21
- 230000011218 segmentation Effects 0.000 claims description 18
- 238000003708 edge detection Methods 0.000 claims description 12
- 230000000877 morphologic effect Effects 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 10
- 238000002360 preparation method Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000005260 corrosion Methods 0.000 description 5
- 230000007797 corrosion Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- LFULEKSKNZEWOE-UHFFFAOYSA-N propanil Chemical compound CCC(=O)NC1=CC=C(Cl)C(Cl)=C1 LFULEKSKNZEWOE-UHFFFAOYSA-N 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- CFZXDJWFRVEWSR-BUHFOSPRSA-N indigo carmine (acid form) Chemical compound N/1C2=CC=C(S(O)(=O)=O)C=C2C(=O)C\1=C1/NC2=CC=C(S(=O)(=O)O)C=C2C1=O CFZXDJWFRVEWSR-BUHFOSPRSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000012567 pattern recognition method Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Character Input (AREA)
Abstract
Die vorliegende Erfindung betrifft das technische Gebiet der Nummernschilderkennung, insbesondere ein MATLAB-basiertes Nummernschilderkennungssystem, das ein Vorverarbeitungsmodul, ein Merkmalsextraktionsmodul und ein Nummernschilderkennungsmodul umfasst; ein Vorverarbeitungsmodul zum Vorverarbeiten eines eingegebenen Nummernschildbildes; ein Merkmalsextraktionsmodul zum Extrahieren von Zeichenmerkmalen des Nummernschildes aus dem vorverarbeiteten Bild; ein Kennzeichenerkennungsmodul verwendet einen Support-Vector-Machine-Klassifikator, um die extrahierten Zeichenmerkmale zu identifizieren; Der vorteilhafte Effekt ist, dass das in der vorliegenden Erfindung vorgeschlagene MATLAB-basierte Kennzeichenerkennungssystem durch die Verwendung von MATLAB als Entwicklungsplattform schnell implementiert werden kann und je nach den spezifischen Bedürfnissen angepasst und optimiert werden kann.The present invention relates to the technical field of license plate recognition, particularly to a MATLAB-based license plate recognition system comprising a preprocessing module, a feature extraction module and a license plate recognition module; a preprocessing module for preprocessing an input license plate image; a feature extraction module for extracting character features of the license plate from the preprocessed image; a license plate recognition module uses a support vector machine classifier to identify the extracted character features; The advantageous effect is that the MATLAB-based license plate recognition system proposed in the present invention can be quickly implemented by using MATLAB as a development platform, and can be customized and optimized according to specific needs.
Description
Ein MATLAB-basiertes Kennzeichenerkennungssystem LU504930A MATLAB-based license plate recognition system LU504930
Technischer BereichTechnical part
Die vorliegende Erfindung bezieht sich auf das technische Gebiet der Kennzeichenerkennung, insbesondere auf ein MATL AB-basiertes Kennzeichenerkennungssystem.The present invention relates to the technical field of license plate recognition, in particular to a MATL AB-based license plate recognition system.
Technologie im HintergrundTechnology in the background
Mit der zunehmenden Zahl von Fahrzeugen steigt auch die Nachfrage nachAs the number of vehicles increases, so does the demand for them
Kennzeichenerkennungssystemen in Bereichen wie Verkehrsmanagement undLicense plate recognition systems in areas such as traffic management and
Sicherheitsüberwachung. Ein Kennzeichenerkennungssystem kann dieSecurity monitoring. A license plate recognition system can
Nummernschildinformationen eines Fahrzeugs automatisch identifizieren und die Effizienz undAutomatically identify a vehicle's license plate information and improve efficiency and
Genauigkeit des Verkehrsmanagements verbessern.Improve traffic management accuracy.
Im Stand der Technik werden viele Kennzeichenerkennungssysteme mit Hilfe vonIn the prior art, many license plate recognition systems are used with the help of
Bildverarbeitungs- und Mustererkennungstechniken implementiert.Image processing and pattern recognition techniques implemented.
Die bestehenden Systeme weisen jedoch einige Probleme auf, wie z. B. komplexeHowever, the existing systems have some problems, such as: B. complex
Algorithmen, geringe Genauigkeitsraten und hohe Anforderungen an die Rechenleistung.Algorithms, low accuracy rates and high demands on computing power.
Inhalt der ErfindungContent of the invention
Ziel der vorliegenden Erfindung ist es, ein MATLAB-basiertesThe aim of the present invention is to create a MATLAB-based
Kennzeichenerkennungssystem bereitzustellen, um die im obigen Stand der Technik angesprochenen Probleme zu lösen.To provide license plate recognition system to solve the problems raised in the above prior art.
Um das oben genannte Ziel zu erreichen, bietet die vorliegende Erfindung die folgende technische Lösung: ein MATLAB-basiertes Kennzeichenerkennungssystem, wobei das System einIn order to achieve the above objective, the present invention provides the following technical solution: a MATLAB-based license plate recognition system, the system being a
Vorverarbeitungsmodul, ein Merkmalsextraktionsmodul und ein Kennzeichenerkennungsmodul umfasst;Preprocessing module, a feature extraction module and a license plate recognition module;
Ein Vorverarbeitungsmodul zum Vorverarbeiten des eingegebenen Nummernschildbildes; ein Merkmalsextraktionsmodul zum Extrahieren von Zeichenmerkmalen desA pre-processing module for pre-processing the input license plate image; a feature extraction module for extracting character features of the
Nummernschildes aus dem vorverarbeiteten Bild; ein Kennzeichenerkennungsmodul, das einen Support-Vector-Machine-Klassifikator verwendet, um die extrahierten Zeichenmerkmale zu identifizieren.license plate from the preprocessed image; a license plate recognition module that uses a support vector machine classifier to identify the extracted character features.
Vorzugsweise umfasst das Vorverarbeitungsmodul das Grauzeichnen, Binarisieren undPreferably, the preprocessing module includes graying, binarization and
Entrauschen des Bildes.Denoising the image.
Vorzugsweise wandelt die Grauskalierung das Farbbild in ein Graustufenbild um, um die nachfolgende Verarbeitung zu vereinfachen;Preferably, gray scaling converts the color image to a grayscale image to simplify subsequent processing;
Die Binarisierung wandelt das Graustufenbild in ein Binärbild um, um eine bessereBinarization converts the grayscale image into a binary image for better
Kantenerkennung und morphologische Verarbeitung zu ermöglichen;to enable edge detection and morphological processing;
Der Entrauschungsprozess entfernt das Rauschen aus dem Binärbild durch Anwendung einesThe denoising process removes the noise from the binary image by applying a
Filters, um die Genauigkeit der nachfolgenden Verarbeitung zu verbessern.Filter to improve the accuracy of subsequent processing.
Vorzugsweise umfasst das Merkmalsextraktionsmodul eine Kantenerkennung, morphologische Verarbeitung und Zeichensegmentierung des Bildes.Preferably, the feature extraction module includes edge detection, morphological processing and character segmentation of the image.
Vorzugsweise wird die Kantenerkennung zur Erkennung von Kanteninformationen imPreferably, edge detection is used to detect edge information
Nummernschildbild verwendet, um eine bessere Segmentierung der Zeichen zu erreichen;License plate image used to achieve better segmentation of characters;
Die morphologische Verarbeitung verbessert die Genauigkeit der Zeichensegmentierung durch Anwendung morphologischer Operationen zur weiteren Verarbeitung derMorphological processing improves the accuracy of character segmentation by applying morphological operations to further process the
Kanteninformationen;edge information;
Zeichensegmentierung zur Segmentierung des verarbeiteten Bildes in einzelne Zeichen alsCharacter segmentation to segment the processed image into individual characters as
Vorbereitung für die anschließende Erkennung.Preparation for subsequent detection.
Vorzugsweise trainiert das Kennzeichenerkennungsmodul ein SVM-Modell zir}/504930Preferably, the license plate recognition module trains an SVM model zir}/504930
Klassifizierung und Identifizierung der extrahierten Zeichen, um Erkennungsergebnisse desClassification and identification of the extracted characters to obtain recognition results
Kennzeichens zu erhalten.to obtain a license plate.
Vorzugsweise umfasst das Kennzeichenerkennungssystem ferner ein Bildeingabemodul und ein Ergebnisausgabemodul;Preferably, the license plate recognition system further comprises an image input module and a result output module;
Ein Bildeingabemodul zum Empfangen eines Bildes des zu erkennenden Nummernschildes und zum Eingeben desselben über eine Kamera oder eine Bilddatei;An image input module for receiving an image of the license plate to be recognized and inputting the same via a camera or an image file;
Ein Ergebnisausgabemodul zur Ausgabe von Erkennungsergebnissen, die auf demA result output module for outputting recognition results that are stored on the
Bildschirm angezeigt oder in einer Datei gespeichert werden können.screen or saved to a file.
Die vorteilhaften Wirkungen der vorliegenden Erfindung im Vergleich zum Stand der Technik sind:The advantageous effects of the present invention compared to the prior art are:
Das in der vorliegenden Erfindung vorgeschlagene = MATLAB-basierteThe one proposed in the present invention = MATLAB based
Kennzeichenerkennungssystem kann durch die Verwendung von MATLAB alsLicense plate recognition system can be done by using MATLAB as
Entwicklungsplattform schnell implementiert werden und kann je nach den spezifischenDevelopment platform can be implemented quickly and depending on the specific
Bedürfnissen angepasst und optimiert werden.Adapted and optimized to your needs.
Beschreibung der beigefügten ZeichnungenDescription of the attached drawings
Bild 1 zeigt ein schematisches Diagramm der vorliegenden Erfindung beim Laden einesFigure 1 shows a schematic diagram of the present invention loading a
Nummernschildbildes;license plate image;
Bild 2 zeigt ein schematisches Diagramm eines Histogramms der vorliegenden Erfindung, das eine Graustufenkarte aufzeichnet;Figure 2 shows a schematic diagram of a histogram of the present invention plotting a grayscale map;
Bild 3 zeigt ein schematisches Diagramm der vorliegenden Erfindung nach derFigure 3 shows a schematic diagram of the present invention according to the
Bildaushôhlung;image hollowing;
Bild 4 zeigt ein schematisches Diagramm der vorliegenden Erfindung zur Glättung einesFigure 4 shows a schematic diagram of the present invention for smoothing a
Bildes;image;
Bild 5 zeigt ein schematisches Diagramm der vorliegenden Erfindung nach dem Entfernen kleiner Objekte aus einem binären Bild;Figure 5 shows a schematic diagram of the present invention after removing small objects from a binary image;
Bild 6 zeigt ein schematisches Diagramm des Farbbildes des Nummernschildes der vorliegenden Erfindung nach dem Beschneiden der Position;Figure 6 shows a schematic diagram of the color image of the license plate of the present invention after position cropping;
Bild 7 zeigt ein schematisches Diagramm der vorliegenden Erfindung nach derFigure 7 shows a schematic diagram of the present invention according to the
Segmentierung und Verarbeitung von Nummernschildzeichen;License plate character segmentation and processing;
Bild 8 zeigt ein schematisches Diagramm der vorliegenden Erfindung nach derFigure 8 shows a schematic diagram of the present invention according to the
Normalisierung des Nummernschildes.Normalization of the license plate.
Detaillierte BeschreibungDetailed description
Um den Zweck der vorliegenden Erfindung, die technischen Lösungsvorschläge für eine klare und vollständige Beschreibung und die Vorteile besser verständlich zu machen, werden die folgenden Ausführungsformen der vorliegenden Erfindung in Verbindung mit den beigefügtenIn order to better understand the purpose of the present invention, the technical solutions proposed for a clear and complete description and the advantages, the following embodiments of the present invention are attached in connection with the
Zeichnungen näher beschrieben. Es sollte verstanden werden, dass die spezifischenDrawings described in more detail. It should be understood that the specific
Ausführungsformen hierin beschrieben sind Teil der Ausführungsformen der vorliegendenEmbodiments described herein are part of the embodiments herein
Erfindung, nicht alle der Ausführungsformen, nur für die Erklärung der Ausführungsformen der vorliegenden Erfindung, und wird nicht verwendet, um die Ausführungsformen der vorliegendenInvention, not all of the embodiments, only for explaining the embodiments of the present invention, and is not used to describe the embodiments of the present
Erfindung zu begrenzen, alle anderen Ausführungsformen durch den normalen Fachmann auf demInvention to limit all other embodiments by those of ordinary skill in the art
Gebiet erhalten, ohne dass kreative Arbeit unter der Prämisse des Schutzes desTerritory preserved without creative work under the premise of protecting the
Anwendungsbereichs der vorliegenden Erfindung.Scope of the present invention.
Ausführungsform 1Embodiment 1
Die vorliegende Erfindung bietet eine technische Lösung: ein MATLAB-basiertesThe present invention offers a technical solution: a MATLAB based one
Kennzeichenerkennungssystem, wobei das System ein Vorverarbeitungsmodul, ek}504980License plate recognition system, the system having a pre-processing module, ek}504980
Merkmalsextraktionsmodul und ein Kennzeichenerkennungsmodul umfasst;Feature extraction module and a license plate recognition module;
Das Vorverarbeitungsmodul dient zur Vorverarbeitung des eingegebenenThe preprocessing module is used to preprocess the input
Nummernschildbildes, einschlieBlich Grauskalierung, Binarisierung und Entrauschung. Bei derLicense plate image, including gray scaling, binarization and denoising. At the
Grauskalierung wird das Farbbild in ein Graustufenbild umgewandelt, um die weitereGray scaling converts the color image into a grayscale image for further purposes
Verarbeitung zu vereinfachen. Die Binarisierung wandelt das Graustufenbild in ein Binärbild um, um eine bessere Kantenerkennung und morphologische Verarbeitung zu ermöglichen. Dieto simplify processing. Binarization converts the grayscale image into a binary image to enable better edge detection and morphological processing. The
Entrauschung entfernt das Rauschen aus Binärbildern durch Anwendung von Filtern, um dieDenoising removes noise from binary images by applying filters
Genauigkeit der nachfolgenden Verarbeitung zu verbessern.Improve accuracy of subsequent processing.
Das Merkmalsextraktionsmodul wird verwendet, um die Merkmale des Nummernschildes aus dem vorverarbeiteten Bild zu extrahieren. Das Modul umfasst Kantenerkennung, morphologische Verarbeitung und Zeichensegmentierung. Die Kantenerkennung dient zurThe feature extraction module is used to extract the features of the license plate from the preprocessed image. The module includes edge detection, morphological processing and character segmentation. Edge detection is used for
Erkennung von Kanteninformationen im Nummernschildbild, um eine bessere Segmentierung derDetecting edge information in the license plate image to better segment the
Zeichen zu erreichen. Die morphologische Verarbeitung verbessert die Genauigkeit dercharacters to reach. Morphological processing improves the accuracy of the
Zeichensegmentierung durch Anwendung morphologischer Operationen zur weiterenCharacter segmentation by applying morphological operations for further
Verarbeitung der Kanteninformationen. Bei der Zeichensegmentierung wird das verarbeitete Bild für die anschließende Erkennung in einzelne Zeichen unterteilt.Processing of edge information. Character segmentation involves dividing the processed image into individual characters for subsequent recognition.
Das Kennzeichenerkennungsmodul verwendet Support Vector Machine (SVM)-The license plate recognition module uses Support Vector Machine (SVM)
Klassifikatoren, um die extrahierten Zeichenmerkmale zu identifizieren. Die Support VectorClassifiers to identify the extracted character features. The Support Vector
Machine (SVM) ist eine weit verbreitete Methode zur Mustererkennung mit hoher Genauigkeit und Verallgemeinerungsfähigkeit. Durch Training eines SVM-Modells können die extrahiertenMachine (SVM) is a widely used pattern recognition method with high accuracy and generalization ability. By training an SVM model, the extracted
Zeichenmerkmale klassifiziert und erkannt werden, um ein Erkennungsergebnis desCharacter features are classified and recognized in order to obtain a recognition result
Nummernschildes zu erhalten.Obtain license plate.
Das Nummernschilderkennungssystem der vorliegenden Erfindung umfasst ferner einThe license plate recognition system of the present invention further includes
Bildeingabemodul und ein Ergebnisausgabemodul. Das Bildeingabemodul wird verwendet, um ein Bild des zu identifizierenden Nummernschildes zu empfangen, das über eine Kamera oder eineImage input module and a result output module. The image input module is used to receive an image of the license plate to be identified via a camera or a
Bilddatei eingegeben werden kann. Das Ergebnisausgabemodul dient der Ausgabe desImage file can be entered. The result output module is used to output the
Erkennungsergebnisses, das auf dem Bildschirm angezeigt oder in einer Datei gespeichert werden kann.Recognition result that can be displayed on the screen or saved to a file.
Das Kennzeichenerkennungssystem der vorliegenden Erfindung hat die folgenden Vorteile:The license plate recognition system of the present invention has the following advantages:
Einfachheit, Effizienz und Genauigkeit. Durch die Verwendung von MATLAB alsSimplicity, efficiency and accuracy. By using MATLAB as
Entwicklungsplattform lässt sich das Kennzeichenerkennungssystem schnell implementieren und kann je nach den spezifischen Bedürfnissen angepasst und optimiert werden.Development platform, the license plate recognition system can be implemented quickly and can be adapted and optimized depending on specific needs.
Ausführungsform 2Embodiment 2
Bezugnehmend auf die Bilder 1 bis 7 der beigefügten Zeichnungen umfasst die spezifischeReferring to images 1 to 7 of the accompanying drawings, the specific includes
Realisierung auf der Grundlage der ersten Ausführungsform Folgendes:Realization based on the first embodiment:
I. Vorverarbeitung des Bildes des Nummernschildes 1. Laden des Bildes des Nummernschildes: function[d]=main(jpg) [filename,pathname]=uigetfile({‘** jpg’, JPEG file(* jpg)’ }); if(filename==0),return,end global FILENAME?% globale Variablen definieren.I. Preprocessing the license plate image 1. Loading the license plate image: function[d]=main(jpg) [filename,pathname]=uigetfile({‘** jpg’, JPEG file(* jpg)’ }); if(filename==0),return,end global FILENAME?% define global variables.
FILENAME=[PfadnameDateiname];FILENAME=[pathnamefilename];
I=imread(FILENAME); figure(1),,mshow(D);title(,Originalbild*); %Das Originalbild des Nummernschilds wird wie in Bild 1 gezeigt angezeigt. LU504930 2. Wandeln Sie das Farbbild in Graustufen um und zeichnen Sie ein Histogramm: 11=rgb2gray(1); %Wandeln Sie das Farbbild in ein Graustufenbild um; figure(2),subplot(1,2,1),imshow(I1);title(,Graustufenbild’);. figure(2),subplot(1,2,2),imhist(I1);title(,Graustufenbild Histogramm‘);% Das Histogramm des Graustufenbildes wird wie in Bild 2 dargestellt gezeichnet; 3. Kantenerkennung mit Roberts-Operator:I=imread(FILENAME); figure(1),,mshow(D);title(,original image*); %The original license plate image is displayed as shown in Image 1. LU504930 2. Convert the color image to grayscale and draw a histogram: 11=rgb2gray(1); %Convert the color image to a grayscale image; figure(2),subplot(1,2,1),imshow(I1);title(‘Grayscale Image’);. figure(2),subplot(1,2,2),imhist(I1);title(,Grayscale Image Histogram’);% The histogram of the grayscale image is drawn as shown in Figure 2; 3. Edge detection using Roberts operator:
I2=edge(I1,‘roberts‘,0.18,‘both‘);%Wählen Sie den Schwellenwert 0.18, Kantendetektion mit dem roberts-Operator figure(3),imshow(I12);title(,Bild der Kantenerkennung mit dem Roberts-Operator*); 4. Das Bild fiihrt eine Erosionsoperation durch: se=[1;1;1];I2=edge(I1,'roberts',0.18,'both');%Select the threshold 0.18, edge detection with the roberts operator figure(3),imshow(I12);title(,edge detection image with the roberts operator Operator*); 4. The image performs an erosion operation: se=[1;1;1];
I3=imerode(12,se);%Implementierung der Korrosionsoperationen auf dem Bild, d.h. dieI3=imerode(12,se);%Implementation of the corrosion operations on the image, i.e. the
Umkehrung der Expansion der Operation figure(4),imshow(I3);title(‘Bild nach Korrosion’); 5. Bild glätten se=strel(,Rechteck‘,[25,25]);%Strukturelemente konstruieren, um ein se quadratisch zu konstruieren 14=imclose(I3,se);%Bild clustern, Bild füllen figure(5),imshow(I14);title(,Bild glätten‘);Reversing the expansion of the operation figure(4),imshow(I3);title(‘Image after corrosion’); 5. Smooth image se=strel(,Rectangle',[25,25]);%Construct structural elements to construct a se square 14=imclose(I3,se);%Cluster image, fill image figure(5),imshow (I14);title(,Smooth Image');
Das Ergebnis ist in Bild 3 dargestellt; 6. Entfernen der kleinen Objekte aus dem Binärbild 15=bwareaopen(14,2000);%entferne den Teil des Clusters, dessen Grauwert kleiner als 2000 ist figure(6),imshow(I5);title(, Kleine Objekte aus Objekten entfernen‘);The result is shown in Figure 3; 6. Remove the small objects from the binary image 15=bwareaopen(14,2000);%remove the part of the cluster whose gray value is less than 2000 figure(6),imshow(I5);title(, Remove small objects from objects' );
Das Ergebnis ist in Bild 4 dargestellt; [y,x,z]=size(I5);%liefert die Größe jeder Dimension von IS, gespeichert in x,y,z myl=double(I5);%Konvertierung von IS in doppelte Genauigkeit tic%tic bedeutet Beginn der Zeitmessung, toc bedeutet Ende der ZeitmessungThe result is shown in Figure 4; [y,x,z]=size(I5);%returns the size of each dimension of IS, stored in x,y,z myl=double(I5);%Conversion of IS to double precision tic%tic means start of time measurement , toc means end of time measurement
Blue y=zeros(y,1);%erzeugt ein Null-Array von y*1 fori=1:y forj=1:x if(myl(i,j,1)==1) %Wenn myl(i,j,1), d.h. der Wert des Punktes mit den Koordinaten (i,j) im Bild von myI 1 ist, d.h. der Punkt ist die Kennzeichen-Hintergrundfarbe Blau % dann der Wert von Blue y(i,1) plus 1Blue y=zeros(y,1);%creates a zero array of y*1 fori=1:y forj=1:x if(myl(i,j,1)==1) %If myl(i, j,1), i.e. the value of the point with coordinates (i,j) in the image of myI is 1, i.e. the point is the license plate background color Blue % then the value of Blue y(i,1) plus 1
Blue y(i,1)=Blue y(i,1)+1;%Statistik des blauen Pixelpunkts end end end [tempMaxY]=max(Blau_y);%Y-Richtung Nummernschildflichenbestimmung %temp ist das Maximum der Elemente des white y-Vektors, MaxY ist der Index diesesBlue y(i,1)=Blue y(i,1)+1;%Statistics of the blue pixel point end end end [tempMaxY]=max(Blue_y);%Y direction license plate size determination %temp is the maximum of the elements of the white y -Vector, MaxY is the index of this
Wertesvalue
PY1=MaxY; while((Blau_y(PY1,1)>=5)&&(PY1>1))PY1=MaxY; while((Blue_y(PY1,1)>=5)&&(PY1>1))
PY1=PY1-1: LU504930 endPY1=PY1-1: LU504930 end
PY2=MaxY. while((Blau_y(PY2,1)>=5)&&(PY2<y)) 5 PY2=PY2+1: Ende endPY2=MaxY. while((Blue_y(PY2,1)>=5)&&(PY2<y)) 5 PY2=PY2+1: End end
IY=KPY1:PY2,;,;); %x-Richtung Kennzeichenbereichsbestimmung %%%%%%X-Richtung %%%%%%%%%IY=KPY1:PY2,;,;); %x direction license plate area determination %%%%%%X direction %%%%%%%%%
Blue x=zeros(1,x);%Weitere Bestimmung der Kennzeichenfläche in x-Richtung forj=1:x füri=PY1:PY2 if(myl(i,j,1)==1)Blue x=zeros(1,x);%Further determination of the license plate area in the x direction forj=1:x fori=PY1:PY2 if(myl(i,j,1)==1)
Blau _x(1,j)=Blau_x(1,))+1; end end endBlue _x(1,j)=Blue_x(1,))+1; end end end
PX1=1; while((Blau_x(1,PX1)=1)) while((Blau_x(1,PX1)3)&&(PX1<x))PX1=1; while((Blue_x(1,PX1)=1)) while((Blue_x(1,PX1)3)&&(PX1<x))
PX1=PX1+1: endPX1=PX1+1: end
PX2=x; while((Blue_x(1,PX2)<3)&&(PX2>PX1))PX2=x; while((Blue_x(1,PX2)<3)&&(PX2>PX1))
PX2=PX2-1; end endPX2=PX2-1; end end
PX1=PX1-1;%Korrektur des NummernschildbereichsPX1=PX1-1;% correction of the license plate area
PX2=PX2+1; dw=I(PY1:PY2-8,PX1:PX2,;); t=toc; figure(7),subplot(1,2,1),1mshow(IY),title(, Angemessener Bereich der Fahrtrichtung‘); %Row direction license plate area determination figure(7),subplot(1,2,2),imshow(dw),title(,Positionierung des beschnittenen Farbbildes desPX2=PX2+1; dw=I(PY1:PY2-8,PX1:PX2,;); t=toc; figure(7),subplot(1,2,1),1mshow(IY),title(, Appropriate area of travel direction’); %Row direction license plate area determination figure(7),subplot(1,2,2),imshow(dw),title(,Positioning the cropped color image of the
Nummernschildes®); Der Nummernschildbereich ist in Bild 5 dargestellt;License Plate®); The license plate area is shown in Figure 5;
IL. die Zeichensegmentierung und -verarbeitung 1. die Weiterverarbeitung des NummernschildesIL. character segmentation and processing 1. further processing of the license plate
Graustufenkonvertierung, Binarisierung, Mittelwertfilterung, Korrosionserweiterung undGrayscale conversion, binarization, average filtering, corrosion expansion and
Zeichensegmentierung des segmentierten Farbkennzeichenbildes, um die einzelnen Zeichenbilder vom Kennzeichenbild zu trennen, um das Kennzeichen zu bilden, Vorverarbeitung der segmentierten Zeichen (Binarisierung, Normalisierung), und dann Analyse der Extraktion des segmentierten Zeichenbildes, um die Textform des Kennzeichens zu identifizieren. Der Code lautet wie folgt: imwrite(dw, ,farbiges-kennzeichen.jpg‘);%Schreiben des farbigen Kennzeichens in die Datei für das farbige Kennzeichen a=imread(,FarbigesKennzeichen.jpg‘);%Lesen der Daten in der Kennzeichendatei b=rgb2gray(a);%Konvertieren des Kennzeichenbildes in Graustufen imwrite(b, Nummernschildgraubild jpg‘);%Schreiben Sie das Graubild in die Datei LU504930 figure(8);subplot(3,2,1),imshow(b),title(, Nummernschild Graustufenbild’) g_max=double(max(max(b))); g_min=double(min(min(b)));Character segmentation of the segmented color license plate image to separate the individual character images from the license plate image to form the license plate, pre-processing the segmented characters (binarization, normalization), and then analyzing the extraction of the segmented character image to identify the textual form of the license plate. The code is as follows: imwrite(dw, 'colored-license.jpg');%Write the colored license plate to the colored license plate file a=imread(,Coloured-label.jpg');%Read the data in the license plate file b =rgb2gray(a);%Convert the license plate image to grayscale imwrite(b, License plate gray image jpg');%Write the gray image to the file LU504930 figure(8);subplot(3,2,1),imshow(b),title (, License plate grayscale image') g_max=double(max(max(b))); g_min=double(min(min(b)));
T=rund(g_max-(g max-g min)/3);%T ist die Schwelle für die Binarisierung [m,n]=GrôBe(b); d=(double(b)>=T);%d:binarisiertes Bild imwrite(d, ‘Vor der Mittelwertfilterung jpg’); subplot(3,2,2),imshow(d),title(‘ Vor der Mittelwertfilterung") % Vor der Mittelwertfilterung %Filter h=fspecial(,Durchschnitt‘,3); %Erstellen Sie einen vordefinierten Filteroperator, Durchschnitt ist der mittlere Filter, dieT=round(g_max-(g max-g min)/3);%T is the threshold for binarization [m,n]=SizeBe(b); d=(double(b)>=T);%d:binarized image imwrite(d, ‘Before average filtering jpg’); subplot(3,2,2),imshow(d),title(' Before mean filtering") % Before mean filtering %Filter h=fspecial('average',3); %Create a predefined filter operator, average is the mean Filters, the
Größe der Vorlage ist 3*3 d=im2bw(round(filter2(h,d)));% Verwenden Sie den angegebenen Filter h, um h nach d zu filtern, d. h. den Durchschnittswert imwrite(d, ‚Nach Mittelwertfilter. jpg”); subplot(3,2,3),imshow(d),title(,Nach Mittelwertfilter®) % Einige Bilder werden manipuliertSize of template is 3*3 d=im2bw(round(filter2(h,d)));% Use the specified filter h to filter h by d, i.e. H. the average value imwrite(d, 'After average filter. jpg"); subplot(3,2,3),imshow(d),title(,By Average Filter®) % Some images are manipulated
Yexpandieren oder erodierenYexpand or erode
Yse=strel('square',3);%expandiere das erstellte Bild mit einem 3x3 quadratischenYse=strel('square',3);%expand the created image with a 3x3 square
ErgebniselementobjektResult item object
Y'Linie'"Raute'"Kugel'…. se=eye(2);%eye(n)returnsthen-by-nidentitymatrix Einheitsmatrix [m,n]=size(d);%GrôBeninformation für Matrix b zurückgeben und in m,n speichern ifbwarea(d)/m/n>=0,365%Berechnen, ob das Verhältnis der Gesamtfläche des Objekts imY'Line'"Rhombus'"Sphere'…. se=eye(2);%eye(n)returnsthen-by-nidentitymatrix unity matrix [m,n]=size(d);%return size information for matrix b and store in m,n ifbwarea(d)/m/n> =0.365%Calculate whether the ratio of the total area of the object in
Binärbild zur Gesamtfläche größer als 0,365 ist d=imerode(d,se);% Wenn größer als 0,365, dann ist das Bild erodiert elseifbwarea(d)/m/n<=0,235%Berechnen, ob das Verhältnis der Gesamtfläche des Objekts zur Gesamtfläche im Binärbild kleiner als 0,235 ist d=imdilate(d,se);% Wenn kleiner als, dann wird der Expansionsvorgang durchgefiihrt end imwrite(d, ‚nach Expansions- oder Korrosionsbehandlung jpg’); subplot(3,2,4),imshow(d),title(,nach Expansions- oder Korrosionsbehandlung");Binary image to total area is greater than 0.365 d=imerode(d,se);% If greater than 0.365, then the image is eroded elseifbwarea(d)/m/n<=0.235%Calculate whether the ratio of the total area of the object to the total area in the binary image less than 0.235, d=imdilate(d,se);% If less than, then the expansion process is carried out end imwrite(d, 'after expansion or corrosion treatment jpg'); subplot(3,2,4),imshow(d),title(,after expansion or corrosion treatment");
Das Ergebnis des Laufs ist in Bild 6 dargestellt; 2. ZeichensegmentierungThe result of the run is shown in Figure 6; 2. Character segmentation
Bei der automatischen Erkennung von Kfz-Kennzeichen hat die Zeichensegmentierung dieIn automatic license plate recognition, character segmentation has the
Aufgabe, vorwärts zu gehen und zurück zu gehen. Sie führt eine Zeichensegmentierung auf derTask of going forward and going back. It performs character segmentation on the
Grundlage der vorläufigen Positionierung des Kennzeichens durch und verwendet dann dieBased on the preliminary positioning of the license plate and then uses the
Ergebnisse der Segmentierung für die Zeichenerkennung. Es gibt viele Algorithmen für dieSegmentation results for character recognition. There are many algorithms for that
Zeichenerkennung, da der Abstand zwischen den Zeichen des Nummernschilds groß ist und keinCharacter recognition because the space between the characters of the license plate is large and no
Zeichen hängen bleibt, wird hier nach einem fortlaufenden Textblock gesucht, und wenn die Länge größer als ein bestimmter Schwellenwert ist, wird angenommen, dass der Block aus zwei Zeichen besteht, die segmentiert werden miissen. Im Allgemeinen werden segmentierte Zeichen weiterverarbeitet, um den Anforderungen des nächsten Schrittes der Zeichenerkennung gerecht zu werden. Bei der Erkennung von Nummernschildern ist jedoch nicht viel Verarbeitung erforderlich 504930 um den Zweck der korrekten Erkennung zu erreichen. Hier wird nur der Normalisierungsprozess durchgeführt, und dann erfolgt die Nachbearbeitung.If a character gets stuck, it looks for a continuous block of text, and if the length is greater than a certain threshold, it is assumed that the block consists of two characters that need to be segmented. In general, segmented characters are further processed to meet the needs of the next step of character recognition. However, license plate recognition does not require much processing 504930 to achieve the purpose of correct recognition. Here only the normalization process is done and then the post-processing is done.
Bei der Suche nach einem fortlaufenden Textblock, dessen Länge einen bestimmtenWhen searching for a continuous block of text whose length is a certain
Schwellenwert überschreitet, wird davon ausgegangen, dass der Block aus zwei Zeichen besteht und aufgeteilt werden muss %Erstellen Sie zunächst die Unterfunktionen qiege und getword und rufen Sie dann dieexceeds the threshold, the block is assumed to consist of two characters and needs to be split %First create the qiege and getword subfunctions, and then call the
Unterroutine auf, um die Zeichen des Nummernschilds aufzuteilen und zu normalisieren. d=qiege(d); [m,n]=size(d); %subplot(3,2,5),imshow(d),title(n) k1=1;k2=1;s=sum(d);j=1; whilej~=n whiles(j)==0 j=+1; end kl=j; whiles(j)-=0&&]<=n-1Subroutine to split and normalize the license plate characters. d=qiege(d); [m,n]=size(d); %subplot(3,2,5),imshow(d),title(n) k1=1;k2=1;s=sum(d);j=1; whilej~=n whiles(j)==0 j=+1; end kl=j; whiles(j)-=0&&]<=n-1
JH end k2=j-1; itk2-k1>=round(n/6.5) [val,numJ=min(sum(d(;,[k1+5:k2-5]))); d(;,k1+num+5)=0;% zerschneiden end end % umgeschnitten d=qiege(d); % 7 Zeichen ausschneiden y1=10;y2=0.25;flag=0;word1=[]; whileflag==0 [m,n]=size(d); left=1;wide=0; whilesum(d(:,wide+1))~=0 wide=wide+1; end ifwide<y1 % denken, dass es sich um eine linkshändige Stôrung handelt. d(:,[1-wide])=0; d=giege(d); else temp=qiege(imcrop(d,[11widem])); [m,n]=size(temp); all=sum(sum(temp)); two_thirds=sum(sum(temp([round(m/3):2*round(m/3)],:))); iftwo_thirds/all>y2 flag=1;word1=temp; LU504930 end d(;,[1:wide])=0;d=qiege(d); end end % Das zweite Zeichen aufteilen [word2,d]=getword(d); % Das dritte Zeichen aufteilen [wort3,d]=Wort(d). % Das vierte Zeichen aufteilen [wort4,d]=Wort(d). % Das fünfte Zeichen aufteilen [wortS,d]=Wort(d). % Das sechste Zeichen aufteilen [wort6,d[=Wort(d). % Das siebte Zeichen aufteilen [wort7,d[=Wort(d).JH end k2=j-1; itk2-k1>=round(n/6.5) [val,numJ=min(sum(d(;,[k1+5:k2-5]))); d(;,k1+num+5)=0;% cut end end % cut around d=qiege(d); % cut 7 characters y1=10;y2=0.25;flag=0;word1=[]; whileflag==0 [m,n]=size(d); left=1;wide=0; whilesum(d(:,wide+1))~=0 wide=wide+1; end ifwide<y1% think it is a left-handed disorder. d(:,[1-wide])=0; d=giege(d); else temp=qiege(imcrop(d,[11widem])); [m,n]=size(temp); all=sum(sum(temp)); two_thirds=sum(sum(temp([round(m/3):2*round(m/3)],:))); iftwo_thirds/all>y2 flag=1;word1=temp; LU504930 end d(;,[1:wide])=0;d=qiege(d); end end % Split the second character [word2,d]=getword(d); % Split the third character [word3,d]=word(d). % Split the fourth character [word4,d]=word(d). % Split the fifth character [wordS,d]=word(d). % Split the sixth character [word6,d[=word(d). % Split the seventh character [word7,d[=word(d).
Bild (9). subplot(2,7,1),imshow(word1),title(‘1’); subplot(2,7,2),imshow(word2),title(‘2’); subplot(2,7,3),imshow(word3),title(‘3’); subplot(2,7,4),imshow(word4),title(‘4’); subplot(2,7,5),imshow(word5),title(‘5’); subplot(2,7,6),imshow(word6),title(‘6’); subplot(2,7,7),imshow(word7),title(‘ 7’); [m,n]=size(word1);Image (9). subplot(2,7,1),imshow(word1),title(‘1’); subplot(2,7,2),imshow(word2),title(‘2’); subplot(2,7,3),imshow(word3),title(‘3’); subplot(2,7,4),imshow(word4),title(‘4’); subplot(2,7,5),imshow(word5),title(‘5’); subplot(2,7,6),imshow(word6),title(‘6’); subplot(2,7,7),imshow(word7),title(‘ 7’); [m,n]=size(word1);
In % der kommerziellen Systemprogramme ist die normalisierte Größe 40*20, wie hier gezeigt. word 1=imresize(word1,[4020]); word2=imresize(word2,[4020]); word3=imresize(word3,[4020]); word4=imresize(word4,[4020]); wordS=imresize(word5,[4020]); wordé=imresize(word6,[4020]); word7=imresize(word7,[4020]); subplot(2,7,8),,mshow(word1),title(‘ 1°); subplot(2,7,9),imshow(word2),title(‘2’); subplot(2,7,10),imshow(word3),title(‘3”); subplot(2,7,11),imshow(word4),title(‘4’); subplot(2,7,12),imshow(wordS),title(‘ 5”); subplot(2,7,13),imshow(word6),title(‘ 6°); subplot(2,7,14),imshow(word7),title(‘ 7’); imwrite(word1,’1 jpg’); imwrite(word2,’2 jpg’); imwrite(word3,’3 jpg’);In % of commercial system programs, the normalized size is 40*20, as shown here. word 1=imresize(word1,[4020]); word2=imresize(word2,[4020]); word3=imresize(word3,[4020]); word4=imresize(word4,[4020]); wordS=imresize(word5,[4020]); wordé=imresize(word6,[4020]); word7=imresize(word7,[4020]); subplot(2,7,8),,mshow(word1),title(‘ 1°); subplot(2,7,9),imshow(word2),title(‘2’); subplot(2,7,10),imshow(word3),title(‘3”); subplot(2,7,11),imshow(word4),title(‘4’); subplot(2,7,12),imshow(wordS),title(‘ 5”); subplot(2,7,13),imshow(word6),title(‘ 6°); subplot(2,7,14),imshow(word7),title(‘ 7’); imwrite(word1,’1 jpg’); imwrite(word2,’2 jpg’); imwrite(word3,’3 jpg’);
imwrite(word4,’4.jpg’); LU504930 imwrite(wordS,’5 jpg’); imwrite(word6,’6.jpg’); imwrite(word7,7 jpg); Die Ergebnisse des Laufs sind in Bild 7 dargestellt; 6. Schlussfolgerungimwrite(word4,’4.jpg’); LU504930 imwrite(wordS,’5 jpg’); imwrite(word6,’6.jpg’); imwrite(word7,7 jpg); The results of the run are shown in Figure 7; 6. Conclusion
Die MATL AB-basierte Simulation der Kennzeichenerkennungsmethode wurde durchgeführt, indem 500 von der Kamera aufgenommene Kennzeichenbilder unter Verwendung der in diesemThe MATL AB based simulation of the license plate recognition method was carried out by taking 500 license plate images captured by the camera using the methods described in this
Entwurf vorgeschlagenen Verfahrensmethode identifiziert wurden, und letztlich wurden nur 20Draft proposed procedural method were identified, and ultimately only 20 were used
Kennzeichen nicht korrekt erkannt, was einer Erkennungsrate von 96 % entspricht.License plate not recognized correctly, which corresponds to a recognition rate of 96%.
Obwohl Ausführungsformen der vorliegenden Erfindung gezeigt und beschrieben wurden, wird der Fachmann erkennen, dass eine Vielzahl von Änderungen, Modifikationen, Ersetzungen und Variationen an diesen Ausführungsformen vorgenommen werden können, ohne von denAlthough embodiments of the present invention have been shown and described, those skilled in the art will recognize that various changes, modifications, substitutions and variations may be made to these embodiments without departing from them
Grundsätzen und dem Geist der vorliegenden Erfindung abzuweichen, deren Umfang durch die beigefügten Ansprüche und deren Äquivalente begrenzt ist.The principles and spirit of the present invention, the scope of which is limited by the appended claims and their equivalents.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
LU504930A LU504930B1 (en) | 2023-08-17 | 2023-08-17 | A MATLAB BASED LICENSE PLATE RECOGNITION SYSTEM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
LU504930A LU504930B1 (en) | 2023-08-17 | 2023-08-17 | A MATLAB BASED LICENSE PLATE RECOGNITION SYSTEM |
Publications (1)
Publication Number | Publication Date |
---|---|
LU504930B1 true LU504930B1 (en) | 2024-02-19 |
Family
ID=89942801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
LU504930A LU504930B1 (en) | 2023-08-17 | 2023-08-17 | A MATLAB BASED LICENSE PLATE RECOGNITION SYSTEM |
Country Status (1)
Country | Link |
---|---|
LU (1) | LU504930B1 (en) |
-
2023
- 2023-08-17 LU LU504930A patent/LU504930B1/en active IP Right Grant
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69329380T2 (en) | Process for segmenting images and classifying image elements for document processing | |
DE102014214448B4 (en) | Device and method for recognizing a traffic sign | |
DE69604481T2 (en) | METHOD AND DEVICE FOR SEPARATING THE FOREGROUND AND BACKGROUND IN TEXT-CONTAINING IMAGES | |
DE102015121339B4 (en) | SYSTEMS AND METHODS FOR DETERMINING A CONDITION OF A ROAD | |
DE60109278T2 (en) | Method and device for locating characters in images from a digital camera | |
DE102013206009A1 (en) | Robust cutting of license plate images | |
DE102017220752B4 (en) | image processing device, image processing method and image processing program | |
DE102017220307A1 (en) | Device and method for recognizing traffic signs | |
Shaikh et al. | A novel approach for automatic number plate recognition | |
WO2022121021A1 (en) | Identity card number detection method and apparatus, and readable storage medium and terminal | |
DE112019006414T5 (en) | Device and method for the detection of people | |
DE102015207903A1 (en) | Apparatus and method for detecting a bar-type traffic sign in a traffic sign recognition system | |
DE69130535T2 (en) | CHARACTER RECOGNITION METHOD AND DEVICE FOR LOCALIZING AND DETERMINING PRE-DETERMINED DATA OF A DOCUMENT | |
CN102136074A (en) | Man-machine interface (MMI) based wood image texture analyzing and identifying method | |
LU504930B1 (en) | A MATLAB BASED LICENSE PLATE RECOGNITION SYSTEM | |
CN112733851A (en) | License plate recognition method for optimizing grain warehouse truck based on convolutional neural network | |
DE102019129029A1 (en) | OBJECT DETECTION SYSTEM AND METHOD | |
CN116052129A (en) | Traffic sign detection method and device based on multi-feature fusion and storage medium | |
DE202022105196U1 (en) | Real-time facial expression recognition system | |
DE102020129164A1 (en) | METHOD AND DEVICE FOR DISTINGUISHING DIFFERENT CONFIGURATION STATES OF AN OBJECT ON THE BASIS OF A PICTURED REPRESENTATION OF THE OBJECT | |
Li et al. | Progressive probabilistic hough transform based nighttime lane line detection for micro-traffic road | |
Sathya et al. | Vehicle license plate recognition (vlpr) | |
EP4118620A1 (en) | Method and device for processing images | |
DE102020205541A1 (en) | Apparatus and method for image processing | |
Islam et al. | A deep convolutional neural network for Bangla handwritten numeral recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Patent granted |
Effective date: 20240219 |