RackScanner can read images from configurable directory or directly operate a scanner. RackScanner first localizes the wells of the rack by pattern matching and recognizes the type of the rack. It then determines which wells are empty and which contain barcoded tubes. Attempts to locate and digitize barcodes are then made by three different algorithms using the excellent and fast http://opencv.org library. Decoding is done by http://libdmtx.sourceforge.net which also serves as fallback in case that previous attempts to locate the code fail. You can download RackScanner at GitHub.

RackScanner is released under the MIT license.