Alexander, W.: Roboter / Schachspieler

Hallo,

ich möchte hobbymäßig einen "Roboter" entwickeln, der in der Lage sein wird auf einem mittleren Niveau Schach zu spielen.

D.h. aber er soll keine Arme besitzen. Stattdessen wird er ein Schachbrett mit einer Webcam von einem Monitor (eines Opponent-Computer) "einlesen". Das eingelesene Bild (Stellung) wird er mit einer UCI-Engine analysieren und den Bestmöglichen zu "ausführen".

Zugausführung erfolgt dabei durch "Steuerung" einer Maus. D.h. das zweite (Roboter) Computer wird an den Ersten (Opponent) durch seine USB Schnittstelle Mausbewegungen durchgeben. **Es soll kein Arm bedient werden. Das wäre noch zu kompliziert.**

Die UCI-Engine habe ich letztes Jahr entwickelt. Die ist zwar nicht so gut, ist dennoch für diesen Zweck vorerst ausreichend.

Die aktuelle Frage ist: Wie erkenne ich mit C++ oder VB ein Schachbrett, das über Webcam "eingelesen" wird? Dazu sind sicherlich eine Bildverarbeitungssoftware oder API notwendig.

Wer die Begriffe dazu kennt, bitte hier Posten. Jede Info wäre hilfreich.

Danke.
Gruß Alexander.

  1. Hallo, Alexander!

    Was Du brauchst, ist eine Feature Recognition Engine. Diese Engine sucht erst einmal mittels Fourier Transformation nach Bildrändern. Als nächstes wird versucht, anhand der Ränder und Farbinformationen der Mittelwerte innerhalb der Ränder Unterscheidungen zu treffen.

    Ein wesentliches Problem wird sein, dass Schachfiguren nicht so unterschiedlich sind, dass eine derartige Unterscheidung trivial wird. Je nach Figurensatz wirst Du vermutlich eine recht hohe Fehlerrate haben. Außerdem muss man mit unterschiedlicher Beleuchtung und perspektivischer Verzerrung rechnen.

    Gruß, LX

    --
    RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
    RFC 1925, Satz 11a: Siehe Regel 6a
  2. ich möchte hobbymäßig einen "Roboter" entwickeln, der in der Lage sein wird auf einem mittleren Niveau Schach zu spielen.

    Dabei muss ich unweigerlich an den Schachtürken denken :D SCNR

    1. Grüße,

      Dabei muss ich unweigerlich an den Schachtürken denken :D SCNR

      das den noch jemand kennt^^ das scheint hier eine der gebildetsten ecken des webs zu sein ^^
      MFG
      bleicher

      --
      __________________________-

      FirefoxMyth
      1. das den noch jemand kennt^^ [...]

        Na was glaubst du denn? Ich hab' den damals live gesehen :p

        1. Hallo,

          das den noch jemand kennt^^ [...]
          Na was glaubst du denn? Ich hab' den damals live gesehen :p

          ach so, ich dachte schon, du warst der Mann im Kasten. ;-)

          So long,
           Martin

          --
          Er war ein Mann wie ein Baum. Sie nannten ihn Bonsai.
  3. @@Alexander, W.:

    nuqneH

    Wer die Begriffe dazu kennt, bitte hier Posten. Jede Info wäre hilfreich.

    Computer Vision

    Weiter zu Maschinelles Sehen, ganz unten ist der Link Auflistung verfügbarer Machine Vision Bibliotheken.

    Dort ist dann auch OpenCV genannt.

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
  4. Hallo,

    danke für die Antworten und Tipps. OpenCV wird vorerst reichen und ich werde mich damit auseinander setzen. Habe schon 2003 mal mit VB Bilder analysiert um Messungen an Kolbenringen vorzunehmen. Habe vergessen wie das Tool heist (ActiveTools o.Ä.).

    Hier ist die Aufgabe ziemlich einfach. Es muss in Wirklichkeit kein Video, sondern ein Bild interpretiert werden, das ung. je 1 Sekunde "geholt" wird.

    Mal sehen wie das alles klappt.

    Gruß Alexander.