1. Source image
Drop a shelf photo on the view below, or pick one:
No photo loaded yet. Sample data is in use.
The three sample buttons draw a synthetic shelf with this page and process it as an image, so a run can be checked against a known item count. That generated count is shown in the sidebar and labelled as sample ground truth rather than as a detection result.
2. Detection parameters
Every control above feeds the same pipeline. Nothing is cached: each change re-thresholds the pixels, re-labels the connected components and re-derives the count, so the number on screen really moves with the parameters.
3. Detection view
source + bounding boxes (drop an image here)
adaptive threshold mask
Green = counted box. Red = counted box flagged as a damage candidate. Grey dashed = component rejected by the current rules (border artefact, too small, or degenerate size).
4. Audit trail
| # | label | x | y | w | h | area px | mean gray | mean edge | edge var | flag | note |
|---|