ChessOcr gives you an easy way to input chess figures from books or magazines into a chess program. Once recognized, analyze the position (using DroidFish or SCIDOntheGO) or do a database search to find the game that contains that position (using SCIDOntheGO). The free database (Download Database) I provide contains almost all the games played by significant chess players (see search over 2 million chess positions). If a chess book contains positions from less skilled players that are included not because of their quality, but instead for their instructional value, then such a game is not likely to be in any games database. In such cases you need the pgn file for that specific book. An example of such books are the well know instructional books by Silman.

OCR Recognition

ChessOcr and ChessOcrPro will recognize the figures for almost all chess books in about 1 second on modern phones/tablets. This app has been tested on dozens of books and thousands of chess figures. It works almost perfectly on modern books from publishers like Everyman, Quality, Basford, Informator, etc. If the book is recent the program works very reliably and quickly.

Page Warp Compensation

ChessOcr and ChessOcrPro does some compensation of page warp if the page is not held completely flat. However, but for best and fastest results the page containing the figure should be as flat as possible. Holding the phone/tablet in one hand and the pressing the page flat in the other hand is the best approach.

Double Recognition Mode

Older books, such as the Dover reprints of chess classics, are more difficult to OCR because of the printing quality and fonts. In this situation you should change settings to operate in double recognition mode (make it true). In this mode the figure is not considered to be recognized unless the same result is obtained twice in row, which is slower, but more reliable. On a modern phone/tablet this double recognition does not take much extra time since OCR recognition is already very fast. When the program is initially installed it decides if your phone is fast enough, and if so then it defaults to double recognition mode. For modern books where the fonts are easier to recognize double recognition mode can be turned off (set to false) in the settings since it is not necessary.

Camera Settings – Hardware Flash, Continuous Video Autofocus, ISO

In the settings there are a number of camera parameters that you can change. Please note that these parameters only appear if your device has that particular hardware capability. Uses the flash if one is available on your phone/tablet to recognize figures under poor lighting conditions. The program will start with flash set to automatic but you have the option of setting the flash to one of automatic (the phone decides when to flash), always on, or always off. If there is not flash on your device then this flash option does not appear in the settings menu. Personally, if the lighting is too dark I find it easier just to improve the lighting a bit than to use the flash, but both will work. You should try setting the continuous video autofocus on since it sometimes improves the speed of autofocus, but it does not make a big difference in general. This parameter defaults to off.  If your device has the capability to set the ISO value, which is the sensitivity to light, then this setting will appear. If you can only recognize positions in bright light, change the ISO value to the highest possible. For some devices the “auto” ISO mode has problems, and in such cases manually setting the ISO mode to a high value improves the recognition. The default value is to not use this setting at all (which is why none of the options are originally set). On all the devices I know of this means that the original ISO mode is the default one, which is to set ISO to auto mode.

Save to PGN format

Saves every recognized position in a pgn file called ReconFigs in the ChessOcr directory, appending the currently recognized position to the end of that file. So you always have a pgn file with all the recognized positions available. From the pgn menu you have a number of things that can do be done with this pgn file. You can query the pgn file to see the total number of positions that have been recognized and saved, you can erase them all so that this file is empty, or you can rename the current pgn file. You can also choose to open the pgn file at which point any installed Android chess program that can display such files will be shown as an option. This saved pgn file will continue to grow without lime until you empty it. There is now an option in the settings to enable/disable the saving of every recognized position to the pgn file, which defaults to save. However, since each recognized position is saved as a small fen string the total file size is small even when it contains many positions. Another option in the pgn menu is share, which shares the pgn file ReconFigs as a text file with another Android app that can handle text files. This is useful for sending the pgn file of recognized positions to another machine using the gmail program since ReconFigs will then appear as an attachment. So if you want to send the pgn file to a PC this is an easy way to accomplish this task.

Start Various Chess Apps with the Recognized Position

The lasts recognized position is always saved to the clipboard  as a fen string. You can therefore open any chess program that can accept fen strings from the clipboard, and then paste that position in as the current position. This enables easy transfer to various types of chess apps. However, there is a better way to transfer the position to many chess apps.  Some programs (like DroidFish and SCIDOntheGO, the two most widely used Android chess programs) can be invoked directly with a fen string which defines the current position. When you select the Analsyse otpion this will show all the chess programs that can accept a fen string as a parameter, and you can then invoke whichever program you want. This selected chess program will start with the recognized position as its current position so you do not need to paste it into the program. There is now a ChessBase option which invokes the ChessBase Online Android app directly with this last recognized position. So if you have the ChessBase app installed then when you choose the ChessBase menu option it will then be invoked the recognized position as the current position.

Invoke ChessOcr from Chess Apps (SCIDOntheGo, or DroidFish)

You can start ChessOcr and then invoke a chess app to analyse the position, as I have described aove. However, there is another option, which is to start DroidFish or SCIDOntheGO app and then to invoke ChessOcr directly from either of these excellent apps. In SCIDOntheGO a database must be open for this option to be possible, while in DroidFish this is not a requirement. In both programs first you must perform a long press on the chessboard. Then you will see a list of menu options, and at the bottom of  this list of options there is a menu item called “Retrieve position”. Pressing this will invoke the ChessOcr app and the first time ChessOcr is invoked you should make it the permanent choice, since the other options do not work. Then you are in ChessOcr and you can proceed to recognize a position as usual. Note that when ChessOcr is invoked in this mode the options Analyse and pgn menu items which exist when you invoke ChessOcr directly can not be accessed. However, all the recognized positions are still saved to a pgn file as usual. If you want to access this pgn file then just start the ChessOcr app directly, and not from SCIDOntheGo or DroidFish.

Invoke Chess Apps by holding down on Color Selection

You can choose which type of app to invoke after you have recognized a position and selected the colour to move by then selecting either the Analyse or the ChessBase menu item. As a shortcut, when you select the colour which is to move (black to move, or white to move) then if you do a long press (continue to hold your finger down and do not let it up) on the colour to move button then the appropriate chess app will be invoked directly. In other words selecting which colour is to move (short touch of colour to move) and then selecting the analyse (or ChessBase) option is exactly the same as doing a long press on the colour to move. This makes it very easy to invoke a chess program to analyse the current position just by holding your finger down on the colour to move. Note that in the settings you can select whether the apps associated with Analsyse, or ChessBase are invoked when you do a long press on the colour selection. The default is to use the apps associated with Analyse when you do a long press on the color selection.

Easy Integration with SCID Chess Databases

The two best free chess programs in the Android world are DroidFish and SCIDOntheGO in my opinion. Both are excellent, but SCIDOntheGO is not just an analsys program, but is also a database program. It has been derived from SCID, and in fact, the SCID database files created on a Windows or Linux machine from pgn files can be directly used on the Android system. However, SCIDOntheGO can also convert a pgn files to the SCID database format without requiring SCID on Windows or Linux. Once the pgn file is converted you can then do searches on this database file using the currently recognized position. If you have the pgn files for the games in your chess books, then you can convert them into an SCID database, and can quickly find the pgn game file that contains a given position. This is done with an exact position search request in SCIDOntheGO (see my app video).

Search over 2 million chess positions

If you do not have the pgn files for all your books, then on this web site is a free database of approximately 2 million games compressed in zip format (Download Now).  If you download this free SCID database and put it into the SCID directory on Android then you will be able to find the pgn for the games for almost all of your books. You need to select and open this database from SCIDOntheGO before you do any searches on figures recognized by my chess OCR program. However, once a database is open in SCIDOntheGO then it stays open as the current database. This means that opening the database is just a one-time operation. In fact if you start and stop your phone/tablet this database remains the current database. While this free database is not as complete as commercial chess databases it covers almost all the games in most chess books, and it only takes between two and five seconds to search on a modern phone/tablet. I will update this free database periodically with free games from sources like TWIC (This week in chess), and the Hugh Brodie Canadian chess database.
ChessOcr & ChessOcrPro