Conveyor Barcode Scanner

Find the barcode on a parcel at any angle, straighten it, clean it up, remove motion blur and decode, all on CPU.

Pick a test parcel, the label tags its distortion

Green boxes = regions the FIND stage proposed · try the blur & partial samples to see the hard cases

No image loaded

Decode Result

Idle
The decoded barcode will appear here.
Pipeline stages
① FINDlocate region + angle
② ORIENTrotate upright
③ CLEANcontrast · threshold
④ DECODEzbar + checksum

Video → barcode → post-processview only

Every code the pipeline pulled off real footage, in one reel. A photo gives the decoder one chance; a clip gives it dozens, and the frames vote.

Voting across frames…
loading…

Every tick is one frame of the reel · green = read agreeing with that segment's value · amber = a read the vote threw out · gaps between the thicker marks are separate clips · click a tick to jump

loading the reel…
Pipeline stages
① FRAMESdecode the clip
② FIND + CROPlocate · straighten
③ DECODEper frame
④ VOTEacross frames
Sharpest crop of the winning read sharpest barcode crop