Bilderkennung in C

Dieses Thema im Forum "C/C++" wurde erstellt von noreaga, 01.06.2007.

  1. #1 noreaga, 01.06.2007
    noreaga

    noreaga Eroberer

    Dabei seit:
    07.10.2005
    Beiträge:
    64
    Zustimmungen:
    0
    Tach beisammen!

    Den Thread hier erstelle ich, um mir ein paar Vorschläge bzw. Anregungen zu holen, für ein Projekt, welches ich demnächst angehen will.
    Es geht um folgendes:

    Ich plane (wenns überhaupt umsetzbar ist) eine Bilderkennunssoftware zu schreiben, welche folgendes Leisten soll:

    Die Software soll hochauflösende JPEG Grafiken einlesen können und auf dem Bild maximal 4 stellige Zahlen erkennen können. Der Bereich auf dem die Zahlen stehen ist meistens weiß (mit einer gewissen toleranz, je nach Lichtverhältnissen) hinterlegt und annährend rechteckig, bzw. perspektivisch verzerrt (je nach Winkel der Fotografie). Das Programm soll also eine Art "Schrifterkennung" darstellen.

    Ich hätte mir jetzt mal folgende Lösung dafür vorgestellt:
    - Bild in ein 2-dimensionales Array pixelweise einlesen und mithilfe geeigneter Funktionen den weißen rechteckigen Bereich erkennen (wobei natürlich mit einer gewissen toleranz gearbeitet werden muss ... farbtechnisch sowie geometrisch)

    - den zu erkennenden Bereich in ein Raster aufteilen und mit zuhilfenahme des winkels ausdem das foto entstanden ist (müsste sich aufgrund der perpektivischen Verzerrung berechnen lassen) irgendwie die Zahlen erkennen.

    Bei den ominösen Rechtecken handelt es sich um Startnummern auf Fahrzeugen/Kleidungsstücken von diversen Sportveranstaltungen. Das Projekt wird natürlich etwas längerfristig angelegt. Das man damit warscheinlich keine 100% abdeckung hinbekommt ist mir klar, jedoch wär mir schon geholfen, wenn zumindest 50% erkannt werden. Große Probleme sehe ich was das erkennen der Rechtecke angeht, da die Bilder oft einen mehrfarbigen Hintergrund haben.

    Meine Fragen an die Community hier wären nun folgende:
    - denkt ihr das das überhaupt möglich ist ?
    - hat jemand vorschläge für geeignete Libraries die man dafür verwenden könnte, bzw. kennt jemand software (opensource) die in der lage ist sowas zu meistern?

    Für weitere konstruktive Vorschläge und Gedankengänge aller Art wär ich sehr dankbar!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 manhunt, 02.06.2007
    manhunt

    manhunt Foren As

    Dabei seit:
    21.01.2007
    Beiträge:
    99
    Zustimmungen:
    0
    Hi


    Zu deiner Frage ob es möglich ist so ein Programm zu schreiben. Ja es ist möglich kann ja heut zu Tage jeder 0815 Bot im Internet der Gästebücher zu spammt.

    Natürlich wird es nicht leicht einen Solchen Algorithmus zu schreiben. Da stellt sich die Frage wie viel Erfahrung du hast.

    Leider kenne ich keine Library's die diesen Bereich abdecken. Solltest du des Englischen mächtig sein kannst du ja mal nach optical character recognition oder OCR suchen.

    Oder du hast glück und die Technik hilft dir. Da zur Zeit immer Mehr Spam als Bild daher kommen könnte es sein das die großen Projekte wie zb Thunderbird und co einen Spammfilter entwerfen der erkennen kann ob ein Bild Spam enthält oder nicht. Den könnte man sich dann zu eigen nehmen....
    (oder du hast Pech und sie finden einen anderen Weg...)

    Du solltest dich auch fragen ob es wirklich sinvoll für dich ist mit JPG zu arbeiten da es ein komprimiertes Dateiformat ist. Und ob die Umwandlung in ein nicht komprimiertes Dateiformat die Arbeit nicht erleichtern würde.

    mfg manhunt
     
  4. #3 CuRaToR, 02.06.2007
    CuRaToR

    CuRaToR Doppel-As

    Dabei seit:
    08.09.2006
    Beiträge:
    114
    Zustimmungen:
    0
    Hi, da du ja in C mit Bildern arbeiten willst, würde ich OpenCV empfehlen. Ist eine wie ich finde sehr umfangreiche Bibliothek, die dir das arbeiten mit Bildern erleichtert, halt viele Basics hat. Du kannst damit beliebig Bilder hin- und herkopieren, konvertieren, und pixel auslesen. Dich werden aber mehr die eingebauten Funktion zur Mustererkennung interessieren. Einfach mal in dem, wie ich finde, gut geschriebenen HowTo was wühlen.

    MfG
    Alex
     
  5. b00

    b00 Haudegen

    Dabei seit:
    28.03.2007
    Beiträge:
    597
    Zustimmungen:
    0
    Ort:
    /root
    oh da hasst du dir ja was ausgesucht ... so ein projekt braucht mehr pflege als ein tamagotchi!

    ich interessiere mich auch sehr für dieses thema leider ist alles was ich bis jetzt dazu gefunden habe nur für spezielle aufgaben geeignet und für meine probleme absolut unzureichend!
    leider gehe ich davon aus das erst spinoff algorithmen vom quantencomputer einen entscheidenen durchbruch in der mustererkennung liefern!
     
  6. #5 noreaga, 02.06.2007
    noreaga

    noreaga Eroberer

    Dabei seit:
    07.10.2005
    Beiträge:
    64
    Zustimmungen:
    0
    hehe... na so viel zeit um noch auf quantenrechner zu warten hab ich jetzt leider nicht ;)
    Die OpenCV Lib hab ich mir gestern abend schon mal reingezogen. Da hab ich auch ein interessantes Beispiel zur Erkennung von Rechtecken in Bildern gefunden, was mich auf ein paar gute Ideen gebracht hat. Leider kann ich vom JPEG Format nicht abweichen, da die zu bearbeitenden Dateien eben von einer Digi Cam kommen.

    Ich hab gestern Nacht mal damit angefangen einen Prototypen in PHP (lol) in Verbindung mit der GD zu schreiben. Die Dateien (bzw. die entsprechenden Bereiche) lassen sich wunderbar auf eine binäre Matrix abbilden.
    Werd mich jetzt mal damit beschäftigen Störungen zu entfernen und mich an die Rechteckserkennung machen.
    Glücklicherweise hab ich schon nen relativ großen Datenvorrat an bereits bearbeiteten Fotos. Sprich ich kann von einigen tausend Bildern diese Muster erkennen lassen und später via Mengenoperationen nachsehen ob was da drauf passt. Wäre jetzt zumindest mal der erste Ansatz den ich verfolge ;)
     
  7. #6 manhunt, 02.06.2007
    manhunt

    manhunt Foren As

    Dabei seit:
    21.01.2007
    Beiträge:
    99
    Zustimmungen:
    0
    Hi


    Ich habe nie nie gesagt das du von JPG abspringen sollst ich habe lediglich gesagt das du vieleicht mit einem anderen Format arbeiten könntest. BZW die Bilder vor dem Bearbeiten umwandeln könntest. So könntest du deine Software leicht auf andere Formate umrüsten und müsstest deinen Algorithmus nicht umändern.(niemand weiß was die Zukunft bringt.)

    Zum umwandeln gibt es allerdings schon genug librarys.

    mfg manhunt
     
  8. #7 CuRaToR, 02.06.2007
    CuRaToR

    CuRaToR Doppel-As

    Dabei seit:
    08.09.2006
    Beiträge:
    114
    Zustimmungen:
    0
    Ich bin ebenfalls der Meinung, das du nicht mit JPEG arbeiten solltest. Das du die Datein in dem Format vorliegen hast ist ja ok, aber kein Hindernis, sie dann doch vernünftig einzulesen. Da JPEG ein komprimierung ist, speichert der meiner Meinung nach nicht informationsen zu jedem Bildpunkt, sondern Informationswechsel von einem Punkt zum nächsten (erklären war nie meine Stärke) und gerade für Mustererkennung solltest du auf unkomprimierten Daten arbeiten. Aber OpenCV konvertiert glaub ich eh automatisch. Dann hast du ein drei kanäliges Bild RGB, das kann man das fein konvertieren in HSV. Davon ist der "H-Kanal" dann der Kontrast, sollte für deine Arbeit also der richtige sein.
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 urenkel, 15.04.2015
    urenkel

    urenkel Grünschnabel

    Dabei seit:
    15.04.2015
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo,

    das Thema interessiert mich auch - wie ist das Ergebnis dazu?


    Grüße
     
  11. #9 hazelnoot, 19.04.2015
    hazelnoot

    hazelnoot www.mywm.dl.am

    Dabei seit:
    13.10.2005
    Beiträge:
    377
    Zustimmungen:
    0
    Ort:
    in Geiersberg
    Hi,

    ich habe eine Diplomarbeit über dieses Thema geschrieben (inkl. Erkennungssoftware) ich, das ganze war 2 Jahre Arbeit! Für was brauchst du das Programm?

    Lg Hazelnoot
     
Thema: Bilderkennung in C
Besucher kamen mit folgenden Suchen
  1. bilderkennung c

    ,
  2. mit c bilderkennungen programmieren