Autor Beitrag
r2d2-aeg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7

BeitragVerfasst: Fr 03.09.10 21:42 
Hallo

Ich möchte auf einem Schwarz-Weiss (KEINE GRAUSTUFEN) Bild eines Autos (siehe Anhang) herausfinden von WO bis WO sich das Nummernschild befindet (X1,Y1,X2,Y2).

Leider hab ich überhauptkeine Ideen dafür.
Wäre sehr dankbar für Hilfe

Gruß,
Team R2D2
Einloggen, um Attachments anzusehen!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 03.09.10 22:04 
Ich glaube, das kannst du vergessen, wenn du kein besseres Bild bekommst. Bei einem Farbfoto könnte man nach einem weißen Rechteck suchen, aber in deinem Fall unterscheidet sich das Nummernschild ja überhaupt nicht von dem Rest des Bildes. Man hat also keinerlei Kriterien.

Aber die Zeichen sind doch recht deutlich. Hast du schon mal daran gedacht eine OCR Software drüberlaufen zu lassen?
r2d2-aeg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7

BeitragVerfasst: Fr 03.09.10 22:16 
Zitat:
OCR

Sowas hab ich vorgehabt zu programmieren.
Und für die Texterkennung ist es einfacher bei einem schwarz weiss bild (Normales Bild wird im Programm in SW umgewandelt).
Ich such dann wohl besser voher nach dem Kennzeichen.

Weißt jemand, wie ich nach diesem "weißen Rechteck" suchen kann??
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Fr 03.09.10 22:40 
Hi,

Ein Ansatz, der mir gerade einfällt, wäre: Wir suchen eine zusammenhängende weiße Fläche der größenordnung A Pixel, die ihrerseits genug voneinander getrennte schwarze Flächen der Größenordnung B einschließt.

Zusammenhängende Flächen listen à la "Ich suche mir rekursiv ein Nachbarpixel, und das ist weiß.".

Funktioniert in der Form nur, wenn die Linie um das Nummernschild einigermaßen dick ist, und auf jeden Fall durchgängig.
Als Problembehandlung könnte man jedes ursprüngliche Pixel etwas dicker machen/5x5 Farbklecks mit Pixel als Mittelpunkt für jedes schwarze Pixel. Das verwischt die Farben zwar etwas, beugt aber kleinen Pixelbrücken über eine dünne Linie vor.

So etwas wäre eine etwas anwendungsbezogene Lösungsstrategie.
An sonsten bleibt dir der Weg über Neuronale Netze natürlich offen, aber das ist meiner Ansicht nach ein Riesenprojekt.

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 03.09.10 22:49 
user profile iconr2d2-aeg hat folgendes geschrieben Zum zitierten Posting springen:
Ich such dann wohl besser voher nach dem Kennzeichen.

Eben nicht besser vorher. Du siehst doch, du hast so gut wie kein Kriterium, welches das Kennzeichen von dem Rest unterscheidet. Da wird das Suchen nach einem Rechteck ziemlich schwierig. Suche im Original nach dem Kennzeichen und wenn du es hast, wandelst du es in zwei Farben um für die Zeichenerkennung.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 03.09.10 23:48 
user profile iconHidden hat folgendes geschrieben Zum zitierten Posting springen:
An sonsten bleibt dir der Weg über Neuronale Netze natürlich offen, aber das ist meiner Ansicht nach ein Riesenprojekt.
Das Netz an sich nicht, aber die Theorie dahinter. Wenn man die erstmal verstanden hat und kennt...

Für ein einzelnes Zeichen habe ich das damit auch schon umgesetzt. Und da man die hier recht gut trennen kann, klappt das schon.

Die Frage ist vor allem wie stark sich die Fotos unterscheiden.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Sa 04.09.10 01:27 
Rate mal, warum die Schriftart standardisiert ist? Und das sogar 2mal...

Eben: damit Automatische Nummernschilderkennung funktioniert. Und wie, steht da sogar drin ;)

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
iterion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21
Erhaltene Danke: 2

Win XP ,Suse 11.3
Delphi 7
BeitragVerfasst: Sa 02.10.10 03:09 
Vielleicht kannst du das bild durch einen zaehler von links nach rechts pixelweise nach dem hellsten werten durchsuchen, und mit dem vorherigen pixelwert vergleichen, angenommen das bild enthaelt eine frontalaufname der stoss-stange, und das nummernshild ist heller oder dunkler , geht aber bei glaenzenden stoss-stangen sicher nicht.Eine weitere moeglickeit waere dass das nummernshild immer in einer bestimmten zone liegt, und du eine routine schreibst die das ganze abtastet.
Nur ne idee wie es gehen koennte, aber mit ich glaube jedes problem hat 1000 loesungen, man muss sie nur finden.

Oder man baut irgendwie eine interface zwischen Gehirn und Computer und macht einen dump der Menschlichen intelligenz :rofl:

Viel Glueck
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 02.10.10 04:34 
Oder du schickst den ganzen Kram nach Indien: Inside India's CAPTCHA solving economy. ;)
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Sa 02.10.10 16:43 
Stichwort: openCV

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
Knulli
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116
Erhaltene Danke: 2

Win2k, Win7, Win10
D5, D2005, D2006, D2007, D10.4.2
BeitragVerfasst: Do 25.11.10 21:04 
Mal so aus dem Bauch heraus...

Ich würde das komplette Bild nach horizontalen und vertikalen Linien absuchen. Horizontal und Vertikal sind natürlich mit einer gewissen Toleranz verbunden.

Mit Linien meine ich eher Kanten. Kanten sind der Wechsel von schwarz nach weiß.
Wenn Wechsel gefunden, dann probieren, ob links oder rechts die Kante weitergeht oder einen Knick (Winkel größer als Schwelle) macht.
Also das Bild in viele kleine Vektoren zerlegen. Evtl. findest Du ja auch Grafikbibliotheken, wo Bitmaps in Vectoren zerlegt werden.

Auf die Art und Weise bekommst Du eine Liste von Linien(Vektoren) mit Anfangs und Endpunkten, die alle irgendwo auf dem Bild verteilt sind.

Da, wo die meißten Horizontalen + Vertikalen Linien auf einem Haufen sind (Stichwort Distribution), kann das Nummernschild vermutet werden.

Dann würde ich diesen Haufen verwenden, um ein Viereck zu finden, in dem alle diese Vektoren sind. Um dieses Viereck drumrum ist ein weißer Rahmen, der auch wiederum ein Viereck darstellt. Das sollte sich nach Lösung der ersten Teilaufgabe dann auch lösen lassen.

Ja, und dann haste nen Bereich, wo das Kennzeichen drin ist.

Knulli

Da fällt mir noch was ein...evtl. Das Bild vorher "solarisieren" (siehe Anhang). Ist ein Verfahren, mit dem Kanten gefunden werden über eben gerade das Verfahren: Wechsel von schwarz nach weiß...
Dann brauchst Du "Nur" noch der Linie entlang zu folgen, bis sie einen Knick macht, schon has'te den Vektor...
Einloggen, um Attachments anzusehen!
WindFritz
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 27.03.11 23:14 
nach meine Ansicht wäre es am Schnellsten:

Bereiche zu suche wo zB zumindest 3 zeilen genau untereinader jeweils ein Kontrast von s auf w oder umgekehrt ist.
Das Kennzeichen befindet sich dort, wo solche Punkte sich häufen, am besten Mittelpunkt der Häufungen finden und dann versuchen eine weiße Umrandung zu finden die alle im nahbreich einschließt.

lG
WindFritz