Tesseract OCR helps computers read text from pictures. It turns images with words into editable text.
You have a photo of a receipt and want to get the text to save or search.
You scanned a paper document and want to convert it into a text file.
You want to read text from signs or labels in images automatically.
You need to extract text from screenshots or photos for quick notes.
Syntax
Computer Vision
import pytesseract
from PIL import Image
text = pytesseract.image_to_string(Image.open('image.png'))
print(text)
Make sure Tesseract OCR software is installed on your computer.
Use pytesseract.image_to_string() to get text from an image.
Examples
Extract text from a receipt image.
Computer Vision
text = pytesseract.image_to_string(Image.open('receipt.jpg'))
Extract English text specifically from a document image.
Computer Vision
text = pytesseract.image_to_string(Image.open('document.png'), lang='eng')
Use page segmentation mode 6 for a uniform block of text like a sign.
Computer Vision
text = pytesseract.image_to_string(Image.open('sign.jpg'), config='--psm 6')
Sample Model
This code creates a simple image with the text 'Hello OCR' and uses Tesseract to read it back.
Computer Vision
import pytesseract
from PIL import Image
# Load an example image with text
image = Image.new('RGB', (200, 60), color=(255, 255, 255))
# Draw simple text on the imagefrom PIL import ImageDraw, ImageFont
draw = ImageDraw.Draw(image)
font = ImageFont.load_default()
draw.text((10, 10), 'Hello OCR', font=font, fill=(0, 0, 0))
# Use Tesseract to extract text
text = pytesseract.image_to_string(image)
print('Extracted Text:', text.strip())
OutputSuccess
Important Notes
Tesseract works best with clear, high-contrast images.
You can improve accuracy by preprocessing images (e.g., converting to black and white).
Install Tesseract software separately; pytesseract is just a Python wrapper.
Summary
Tesseract OCR turns images with text into editable text.
Use pytesseract.image_to_string() to extract text from images.
Good image quality helps Tesseract read text accurately.
Practice
(1/5)
1. What is the main purpose of Tesseract OCR in computer vision?
easy
A. To enhance image resolution
B. To detect objects in images
C. To convert images containing text into editable text
D. To classify images into categories
Solution
Step 1: Understand Tesseract OCR's function
Tesseract OCR is designed to read text from images and convert it into editable text format.
Step 2: Compare options with Tesseract's purpose
Image enhancement, object detection, and image classification relate to other computer vision tasks but not text extraction, which is Tesseract's main use.
Final Answer:
To convert images containing text into editable text -> Option C
Quick Check:
Tesseract OCR = Text extraction [OK]
Hint: Remember OCR means Optical Character Recognition [OK]
Common Mistakes:
Confusing OCR with image enhancement
Thinking Tesseract detects objects
Assuming it classifies images
2. Which Python function is used to extract text from an image using Tesseract?
easy
A. pytesseract.image_to_string()
B. pytesseract.extract_text()
C. pytesseract.read_image()
D. pytesseract.text_from_image()
Solution
Step 1: Recall the correct pytesseract function
The official function to get text from an image is image_to_string().
Step 2: Verify other options
Other options are not valid pytesseract functions and will cause errors.
Final Answer:
pytesseract.image_to_string() -> Option A
Quick Check:
Function for text extraction = image_to_string() [OK]
Hint: Use image_to_string() to get text from images [OK]
Common Mistakes:
Using non-existent pytesseract functions
Confusing function names with similar words
Forgetting parentheses in function call
3. What will be the output of this Python code snippet using pytesseract?
from PIL import Image
import pytesseract
img = Image.new('RGB', (100, 30), color = (255, 255, 255))
text = pytesseract.image_to_string(img)
print(text.strip())
medium
A. Random characters
B. Empty string
C. Error: Image not found
D. Whitespace characters
Solution
Step 1: Analyze the image content
The image is blank white with no text drawn on it.
Step 2: Understand pytesseract output on blank images
Since no text exists, pytesseract returns an empty string or whitespace which is stripped to empty.
Final Answer:
Empty string -> Option B
Quick Check:
Blank image text output = empty string [OK]
Hint: Blank images give empty text output [OK]
Common Mistakes:
Expecting error due to no text
Assuming random characters appear
Not stripping whitespace before print
4. Identify the error in this code snippet using pytesseract:
import pytesseract
text = pytesseract.image_to_string('image.png')
print(text)
medium
A. No error, code runs fine
B. Missing import for PIL Image
C. Incorrect function name used
D. Passing a filename string instead of an image object
Solution
Step 1: Check function argument requirements
image_to_string() accepts both PIL Image objects and strings representing image file paths.
Step 2: Verify the code
Passing a filename string 'image.png' is valid assuming the file exists and pytesseract is configured.
Final Answer:
No error, code runs fine -> Option A
Quick Check:
image_to_string() accepts file paths [OK]
Hint: pytesseract.image_to_string() accepts both image objects and file paths [OK]
Common Mistakes:
Thinking only PIL Image objects are accepted
Assuming PIL import is required for file paths
Believing the function cannot read files directly
5. You want to improve Tesseract OCR accuracy on a scanned document image with noise and skew. Which combination of preprocessing steps is best before using pytesseract.image_to_string()?
hard
A. Apply random color filters
B. Increase image brightness only
C. Resize image to smaller dimensions
D. Convert to grayscale, apply thresholding, and deskew the image
Solution
Step 1: Understand common OCR preprocessing
Grayscale conversion simplifies colors, thresholding makes text clearer, and deskew corrects tilted text improving OCR accuracy.
Step 2: Evaluate other options
Increasing brightness alone or resizing smaller can reduce quality; random color filters add noise, hurting OCR.
Final Answer:
Convert to grayscale, apply thresholding, and deskew the image -> Option D
Quick Check:
Preprocessing for OCR = grayscale + threshold + deskew [OK]
Hint: Clean and straighten image before OCR for best results [OK]
Common Mistakes:
Skipping deskewing step
Using color filters that add noise
Reducing image size too much
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.