Abstract: A method and apparatus for implementing a weighted voting scheme for reading and accurately recognizing characters in a scanned image. A plurality of optical character recognition processors scan the image and read the same image characters. Each OCR processor outputs a reported character corresponding to each character read. For a particular character read, the characters reported by each OCR processor are grouped into a set of character candidates. For each character candidate, a weight is generated in accordance with a confusion matrix which stores probabilities of a particular OCR to identify characters accurately. The weights are then compared to determine which character candidate to output.