Skip to content
Novus Examples
png910.8 KB

invoice (rotated +3 degrees)

A invoice typeset over a synthetic photographic background, rotated +3 degrees. A slight skew of the kind a phone photo of a docket actually has. 33 words, each with an exact bounding box in the companion JSON.

Preview of invoice (rotated +3 degrees)

Specifications

Document
invoice
Variant
rot+3
Word Count
33
Font
consola.ttf
Box Format
axis-aligned [x0,y0,x1,y1] in pixels
Source Plate
nss-office-desk_00001_.png
Synthetic
true
Disclosure
Synthetic. Background is AI-generated; all text was typeset programmatically.
Schema Version
1
Transform Rotation Degrees
3
Alt Text
A invoice typeset over a synthetic photographic background, rotated +3 degrees
Alt Text Source
description

Testing contract

Expected to pass
Scenario
Run OCR over the image and compare every word and every box against the companion JSON in this group.
Expected result
33 words are recoverable at their recorded boxes for the rot+3 variant; the recorded transform is rotation degrees 3. The boxes were transformed WITH the image, so the answer stays exact however damaged the picture is, and a miss is the recogniser's rather than the fixture's.

What is a .png file?

PNG (Portable Network Graphics) is a raster image format using lossless DEFLATE compression. It supports full 8- or 16-bit-per-channel truecolor, palette, and greyscale modes with an optional alpha channel, but no animation. It is the standard choice for screenshots, logos, and graphics with sharp edges or transparency.

How to use this file

Use an example PNG to test image decoders, alpha-compositing, thumbnail generators, and format converters, or to verify that a pipeline preserves transparency and color depth on round-trip.

How to use this file for testing

“invoice (rotated +3 degrees)” is a deterministic Novus Examples fixture for OCR testing. Image-only 'scanned' documents paired with their text source, for measuring OCR accuracy against a known ground truth.

Documented properties for this file: PNG · 932,707 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.

For image AI or enhancement tools, run the model or filter on this file and diff against the clean or ground-truth companion in the same group when available. Keep seeds and documented damage parameters in your evaluation notes so regressions are attributable.

Run OCR on the scanned or image twin and score the output against the searchable or text ground truth on this page; the documented rotation, grain, and text content are the reference.

Code examples

<img src="ocr-invoice-rot-plus3.png" alt="Example image" width="640" loading="lazy">

Generated by generation/ocr_fixtures_wave.py. Free for any use, no attribution required, license.