Dirk
Dirk

Reputation: 6884

Java detection of images on a screen

I'm trying to take an ongoing chess game and use image recognition to automatically transcribe it into a list of chess moves (1. e4 e5 2. Nf3 Nc6), automatically.

Given a 2D layout of the board and pieces, and standard images for each of the pieces, how would I go about in Java doing this?

Thanks!

Upvotes: 1

Views: 343

Answers (3)

Radim Burget
Radim Burget

Reputation: 232

For image classification in JAVA you can try Rapidminer and IMMI extension for image mining: http://spl.utko.feec.vutbr.cz/en/component/content/article/46-image-processing-extension-for-rapidminer-5

For this purpose you should extract global features from images and than train some classifier (e.g. SVM). Another approach might be training Viola-Jones detector.

Upvotes: 0

ninesided
ninesided

Reputation: 23273

I would imagine that depending on the set being played with, given a top down view of the board, it might prove difficult to distinguish between the different pieces.

Rather than relying on image recognition to determine which pieces are which, it would almost certainly be easier to simply track the pieces throughout the course of the game. You already know exactly where they started from, so after each turn it should be possible to deduce which square is now empty that wasn't previously empty, and which square is now occupied that wasn't previously occupied. This makes your image analysis much simpler as you're just determining whether each square on the board is empty or not.

Upvotes: 1

Bogdan
Bogdan

Reputation: 412

Well if you have an image for each piece than just follow and save(using some arrays) all the moves. But first show us some code on what you have. More info.

Upvotes: 0

Related Questions