Ich arbeite an einem ANPR-System mit OpenCV und habe in einigen Artikeln eine Art der Zeichensegmentierung gesehen. Die Idee ist, eine Grafik zu machen, die die Konzentration auf Farbe über das Bild zeigt.
Wie mache ich das?
Das ist das Bild, das ich habe:
Ich muss die Positionen der schwarzen Bereiche wie oben gezeigt erkennen, um jedes der Zeichen zu identifizieren.
Ich habe versucht, die Werte Pixel für Pixel hochzuladen, aber ich mache das unter Android und die Zeit, die das dauert, ist inakzeptabel.
Ok, es ist einen Monat später, aber ich schrieb dir ein bisschen Code (in Python) dafür;)
(Angenommen, Sie befinden sich gerade hinter dem Bilddichte-Histogramm)
%Vor% Um die Dinge zu beschleunigen, müssen Sie Ihre Bilddateien nicht ändern, sondern nur die Breite der Samples ändern ( column_width
im Skript), natürlich verlieren Sie dabei eine gewisse Auflösung (wie Sie in der Bild unten).
Im Bild zeige ich die Ergebnisse (Darstellung hist
) mit Ihrer Datei an, wobei column_width
von 1, 10 und 100 verwendet wird. Sie liefen für mich bei 0,11, 0,02 bzw. 0,01 Sekunden.
Ich habe es auch in PIL geschrieben, aber es läuft etwa 5 bis 10 mal langsamer.
Schauen Sie sich OpenALPR ( Ссылка ) an. Es macht die Zeichensegmentierung auf die gleiche Weise (mit Histogrammen). Es ist ziemlich schnell auf einem Desktop, aber ich bin mir nicht sicher, wie schnell das auf Android wäre.
Tags und Links opencv ocr computer-vision anpr