Source image
No image yet.
You can also drag an image file onto the page, or paste one with Ctrl+V / Cmd+V.
Screen capture uses getDisplayMedia, so the browser asks you to pick a screen, window or tab. The capture stays live after the first
frame, so "Grab frame again" re-reads the current screen; "Stop sharing" ends it.
Crop region (drag the handles, or drag on empty space to draw a new region)
crop: none
Arrow keys nudge the region by 1 px (hold Shift for 10 px), once the canvas has focus.
Dominant colours measured on the crop
| Swatch | Colour | Share | Pixels (sampled) |
|---|
Ink-density row projection and detected text lines
| Line | Rows (y) | Height | Mean ink | Peak ink | Column runs |
|---|
Edge map (Sobel gradient magnitude on the crop)
What this page measures
Every number below is a deterministic pixel measurement computed in your browser from the pixels you gave it, with no server and no network calls in the path.
- Measured here: dominant colours (quantised histogram), ink-density row projection, detected text-line bands, ink column runs per band, Otsu ink threshold, edge map and edge share, contrast, sharpness (variance of Laplacian), crop size.
- Deliberately out of scope, and never guessed: the words in the image, UI element names, buttons and labels, error messages, and any description of what is happening. The page reports what it measured and prints nothing it did not.
- The explanation step belongs to the desktop tool: there a local model runs on your own machine, after these same measurements. This browser build marks the step as not run and prints no substitute text, so no caption or extracted text is ever invented.