Roboter / Schachspieler
Alexander, W.
- programmiertechnik
0 LX0 suit- menschelei
0
Gunnar Bittersmann
0 Alexander, W.
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.
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
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
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
das den noch jemand kennt^^ [...]
Na was glaubst du denn? Ich hab' den damals live gesehen :p
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
@@Alexander, W.:
nuqneH
Wer die Begriffe dazu kennt, bitte hier Posten. Jede Info wäre hilfreich.
Weiter zu Maschinelles Sehen, ganz unten ist der Link Auflistung verfügbarer Machine Vision Bibliotheken.
Dort ist dann auch OpenCV genannt.
Qapla'
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.