Regression: Tesseract 5.5.3 recognizes uppercase 'I' as '|' while 5.5.0 recognizes it correctly
Current Behavior
After upgrading Tesseract OCR from 5.5.0 to 5.5.3, OCR incorrectly recognizes the uppercase letter 'I' as the pipe character '|'.
This issue is reproducible with the same:
- Input image
- OCR configuration
- Language (eng)
- Python code
- pytesseract version
Only the Tesseract OCR engine version changed.
Example:
Expected: I have checked all six sides of the package.
Actual: | have checked all six sides of the package.
Configuration:
- Tesseract 5.5.0 -> Correct output
- Tesseract 5.5.3 -> Incorrect output
- OEM: 3
- PSM: 6
- Language: eng
Expected Behavior
Tesseract 5.5.3 should recognize the first character as the uppercase letter 'I', matching the behavior of Tesseract 5.5.0.
Expected output:
I have checked all six sides of the package against Poster 298 and confirmed the customer obliterated any inapplicable markings.
Suggested Fix
The issue appears to be a regression introduced after Tesseract 5.5.0.
Please investigate the OCR behavior changes between versions 5.5.0 and 5.5.3 that affect the recognition of the uppercase letter 'I'.
The same image, OCR configuration, and language data produce the following results:
- Tesseract 5.5.0: Correctly recognizes 'I'
- Tesseract 5.5.3: Recognizes 'I' as '|'
If this behavior is intentional or caused by changes in the OCR engine or trained data, any guidance or workaround would be appreciated.
tesseract -v
5.5.3.20260724
Operating System
No response
Other Operating System
No response
uname -a
No response
Compiler
No response
CPU
No response
Virtualization / Containers
No response
Other Information
No response
Source: tesseract-ocr/tesseract