Earlier quoted context omitted.
Knights can make it everywhere. The only position you'd never see is pawns on the first or last rank (their movement is forward and they promote to stronger pieces when reaching the other side). EDIT: Another feature ... in a properly set up board, the bottom right square is always white.
Nor will you ever find both bishops of one color on the same color square.
Show HN: My weekend project - Chessboard picture recognition
31–40 of 57 posts
Re: Show HN: My weekend project - Chessboard picture recognition
#32I don't know anything about "chess theory" but are there some squares that only certain pieces can get to? I don't think it's possible for a Knight to ever be on some squares, so maybe you could use logic like that to narrow down the piece detection. It may be easier to just track the game state from the start instead of trying to identify the position of the board at a random snapshot in time. Cool project though, s…
Re: Show HN: My weekend project - Chessboard picture recognition
#33"For example, the program is able to determine whether each square is white or black by calculating its average color and comparing it to the black and white colors" I bet you could get away with determining the color of a corner square and assuming the rest.
Thanks for the feedback. I did not think about this. Some of the square edges actually belongs to the surroundings squares because the cut is not 100% accurate and the chess piece are not always position at the center of the square but I could get around that. The way this algorithm works is simple. I compare the RGB values for each pixel of a square to the black color and white color. Black is Red=0, Green=0, Blue=0…
Re: Show HN: My weekend project - Chessboard picture recognition
#34I don't know anything about "chess theory" but are there some squares that only certain pieces can get to? I don't think it's possible for a Knight to ever be on some squares, so maybe you could use logic like that to narrow down the piece detection. It may be easier to just track the game state from the start instead of trying to identify the position of the board at a random snapshot in time. Cool project though, s…
Re: Show HN: My weekend project - Chessboard picture recognition
#35Edit: what I mean is that in this case the problem becomes answering "does this place on the board have a piece on it" not "which piece is on this place on the board." Once you know which places on the board have any pieces whatsoever you can simply infer between moves which pieces moved where.
Re: Show HN: My weekend project - Chessboard picture recognition
#36Take two photos. One at the starting position and one at the current position you'd like to save. You don't need to take them in order (take the current position, reset the board, and take the other photo). This way you know what the pieces are from the starting position, then use an algo to match based on that.
Also some good hints for most standard sets while checking your current position...both kings are always on the board and they are usually the tallest. there is never more than one queen per side, and its usually a close height to the king, but has a circular crown. Rooks are circular on top, bishops come to a point, if there are more than two pawns per side that gives them away. Knights could be singled out by eliminating the rest.
Good luck!
Re: Show HN: My weekend project - Chessboard picture recognition
#37Re: Show HN: My weekend project - Chessboard picture recognition
#38I think the punchline is likely to be that you end up taking dot products of feature vectors generated by library code and writing fairly little chess-related code. Sorry to burst your bubble if you thought this was going to be very sexy. On the plus side, it will work, and if you're as good at programming as you appear to be you're almost certain to succeed on this.
P.S. I hope you like taking photos because odds are you're going to get the opportunity to take lots.
Re: Show HN: My weekend project - Chessboard picture recognition
#39Re: Show HN: My weekend project - Chessboard picture recognition
#40I don't know anything about "chess theory" but are there some squares that only certain pieces can get to? I don't think it's possible for a Knight to ever be on some squares, so maybe you could use logic like that to narrow down the piece detection. It may be easier to just track the game state from the start instead of trying to identify the position of the board at a random snapshot in time. Cool project though, s…
Thanks for leaving a comment. "It may be easier to just track the game state from the start instead of trying to identify the position of the board at a random snapshot in time." This is certainly true! But the original idea was to take a picture (probably from a mobile phone) and continue the game online. Taking a picture after each most is a lot of work :D