Palette rectangle scan
Finds repeated cabin rectangles by clustering recurring fill colours — no OpenCV, no browser GPU tricks required.
Upload a cruise deck-plan image. DeckScan highlights cabin rectangles, reads their numbers with OCR, and surfaces each cabin's fill colour — no OpenCV, no GPU.
Features
A small, dependency-light detection stack that runs entirely in a Next.js app.
Finds repeated cabin rectangles by clustering recurring fill colours — no OpenCV, no browser GPU tricks required.
A second detector pass rescues the tricky white and light-grey cabins that colour clustering alone tends to miss.
One Tesseract pass reads every label at once — no slow OCR-per-cabin loop.
Stray cabin numbers seed extra rectangles the colour pass overlooked, so nothing slips through.
Each detection surfaces its cabin's fill colour, making categories easy to skim at a glance.
Inspect detections on the image, then review the active cabin in a small, presentation-friendly side rail.
How it works
Upload a deck, run a single scan, and review every detected cabin.
Drop in your own cruise deck-plan image or load a bundled sample deck to start.
Cluster recurring fill colours to find the repeated cabin rectangles across the plan.
A second pass recovers light and white cabins that pure colour clustering misses.
Run Tesseract once over the whole image to read every cabin label in one shot.
Use detected numbers to seed extra rectangles the colour pass overlooked.
Inspect detections on the image and the active cabin's data in the side rail.
Why this repo
A pragmatic deck scanner that solves the messy parts of cabin detection without reaching for a full computer-vision stack.
Finds repeated cabin rectangles without OpenCV or browser GPU tricks — just colour clustering and plain JavaScript.
A dedicated neutral-recovery pass picks up the white and light cabins that single-pass detectors quietly drop.
Whole-image OCR plus OCR-seeded recovery replaces the expensive OCR-per-cabin loop most scanners fall back on.
Tech stack
Image work with Jimp, OCR with Tesseract.js, all wrapped in a small Next.js app.
No build-time models, no native bindings — just npm install.
Open source
DeckScan is a for-fun open-source project. Pull the repo, load a sample deck, and run a scan in under a minute.
Scans cruise deck-plan images, highlights cabin rectangles, reads cabin numbers with OCR, and surfaces each cabin's fill colour.
Open source, free, and built for fun. Clone the repo and try it on the bundled sample decks.