Bilderkennung



  • Hallo Leute,

    mal in Kürze die Rahmenbedingungen zu meinem Problem:
    Ich versuche in einem Video die schnellste Bewegung zu erkennen und zu digitalisieren. Um es sich besser vorzustellen: ein Basketballspieler dribbelt langsam über ein Spielfeld und wird dabei gefilmt. Ich möchte jetzt zunächst ein Programm entwickeln, dass mir die Bewegung des hoch und runter springenden Balles digitalisiert. Also quasi in einem Schieberegler die Bewegung des Balles nachahmt. Das ganze soll in Real-Time erfolgen und später mal durch einen Mikroprozessor getätigt werden (fürs erste aber am PC realisiert). Die Farbe und Form des vorgestellten Balles ist nicht bekannt. Auch keine weiteren Details von dem Video.
    Meine Idee war, "einfach" zwei Screenshots vom Bildschirm zu machen (z.B. 100ms Abstand dazwischen), das erste Bild in x Teilbilder zu zerlegen und diese Bilder im zweiten Screenshot mit einer gewissen Unschärfe wieder zu suchen. Die größte Differenz der neuen zur alten Position sollte den Teil des Gesamtbildes herausfinden können, in dem die größte Bewegung war. Stetig hintereinander durchgeführt ergibt sich so immer wieder eine Differenz in eine Richtung, die ich dann addieren kann und auf einem Schieberegler ausgeben kann.
    Funktioniert leider nicht. Habe es auf die schnelle mal in AutoIt versucht und mich der Imagesearch.dll bedient, die wohl in C geschrieben wurde. Die Erkennung der Teilbilder dauert viel zu lange (20-50ms) und die Trefferquote ist nicht gut. Skaliert man die Screenshots runter, wird eigentlich gar nichts mehr erkannt.

    Bevor es jetzt um den Code geht (ich weiß, dafür sollte ich dann eher in ein anderes Forum für AutoIt), geht es mir eigentlich erstmal um einen guten Ansatz, um das Problem theoretisch zu lösen. Hat jemand eine gute Idee oder gute Ansätze zum einlesen in die Thematik Bildverarbeitung?

    Viele Grüße,
    Pstfch



  • Form des vorgestellten Balles ist nicht bekannt.

    Ich schlage groesstenteils "rund" vor.

    Imagesearch.dll

    Kenne ich nicht, die kommt woher? Welche Funktionalitaet wird angeboten? Hast du die Dokumentation gelesen?

    geht es mir eigentlich erstmal um einen guten Ansatz

    Stichwort Differenzbilder.

    Dein Suchbegriff lautet Motion detection. Hier ein zufaelliger Link http://www.codeproject.com/Articles/10248/Motion-Detection-Algorithms .


Anmelden zum Antworten