Optical Character Recognition
Optical Character Recognition (OCR) is a process to extract text from images. In this section, we will use the open source Tesseract OCR engine, which was originally developed at HP and now primarily at Google. Installation instructions for Tesseract are available at https://code.google.com/p/tesseract-ocr/wiki/ReadMe. Then, the pytesseract
Python wrapper can be installed with pip
:
pip install pytesseract
If the original CAPTCHA image is passed to pytesseract
, the results are terrible:
>>> import pytesseract >>> img = get_captcha(html) >>> pytesseract.image_to_string(img) ''
An empty string was returned, which means Tesseract failed to extract any characters from the input image. Tesseract was designed to extract more typical types of text, such as book pages with a consistent background. If we want to use Tesseract effectively, we will need to first modify the CAPTCHA images to remove the background noise and isolate the text. To better...