# Why Your Document Reader Keeps Failing on Phone Photos > Target keyword: document reader phone photo accuracy, why OCR fails on photos > Secondary: crooked photo extraction, phone photo to data > Internal links: /, /use-cases/receipt-scanner, /use-cases/invoice-extractor --- ## The Gap Between Demo and Reality Every document reading tool looks great in the demo. Clean scan. Flat surface. Perfect lighting. Professional scanner output. Then you try it on the document you actually have: a receipt photographed on a desk at 40 degrees, under fluorescent light, with a coffee stain in the corner. The tool reads maybe 70% correctly and hands you a wall of text to fix by hand. This isn't a bug. It's a design choice. Most tools are built for scans, not photos. ## Why Phone Photos Break Traditional Readers ### 1. Perspective Distortion Phone cameras shoot from an angle. The top of the document appears narrower than the bottom. Text lines converge. Traditional readers assume parallel lines and uniform character spacing — assumptions that fail immediately on a tilted photo. ### 2. Uneven Lighting Desk lamps create hot spots. Windows cast shadows. Fluorescent tubes produce banding. Glossy paper reflects the light source directly into the lens. Every variation degrades contrast and confuses character detection. ### 3. Physical Damage Receipts get crumpled. Contracts get folded. Business cards get bent in pockets. Wrinkles create false edges that look like character boundaries to algorithms expecting flat surfaces. ### 4. Screen Moiré Photographing a screen introduces interference patterns. The pixel grid of the display interacts with the camera sensor, creating wavy artifacts that overlay the actual content. This is invisible to humans but devastating to automated readers. ### 5. Thermal Fade Thermal receipts lose contrast over time. A receipt from two weeks ago may have text that's barely visible. Standard contrast thresholds miss it entirely. ## What Fixes It The answer isn't "better character recognition." It's **fix the photo first, then read it.** shenshen applies a preprocessing pipeline before any text extraction: 1. **Auto-rotate and deskew.** Detects the document's true orientation and straightens it, even from extreme angles. 2. **Glare and shadow correction.** Normalizes lighting across the image, recovering text hidden in highlights and shadows. 3. **Wrinkle and fold compensation.** Identifies physical distortions and compensates for them algorithmically. 4. **Moiré removal.** Detects and filters screen interference patterns. 5. **Contrast enhancement.** Boostes faded text while preserving sharp edges. Only after these corrections does shenshen attempt to read the document. And it doesn't stop at text — it extracts structured fields (vendor, total, date, line items) so the output is ready to use, not another editing task. ## Before and After | Photo condition | Traditional reader | shenshen | |----------------|---------------------|----------| | 40° angle | Garbled, misaligned rows | Straightened, fields extracted | | Desk glare | Missing characters in highlight zone | Glare corrected, full extraction | | Crumpled receipt | False line breaks, split words | Wrinkle compensated, clean output | | Screen moiré | Wavy text, unreadable | Moiré filtered, accurate reading | | Faded thermal | Blank or partial | Enhanced, full extraction | ## The Real Metric Don't measure accuracy on clean scans. Measure it on the photos your team actually takes. If your team photographs documents on desks, in cars, at conferences, or off screens — those are the conditions that matter. A tool that scores 99% on flat scans but 60% on phone photos is worse than useless in practice, because the 40% failure rate means someone is still doing the job by hand. ## Test It Yourself Take the worst document photo in your camera roll right now. Upload it to shenshen. Compare what you get against what your current tool produces. Free to start, no card required. [Try shenshen on your messiest photo →](https://shenshen.ai/) --- *Related: [Receipt Scanner](/use-cases/receipt-scanner) · [Invoice Extractor](/use-cases/invoice-extractor) · [Business Card Scanner](/use-cases/business-card-scanner)*