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 opencv library. Decoding is done by libdmtx library which also serves as fallback in case that previous attempts to locate the code fail. You can download RackScanner at GitHub.