Skip to content

Algorithm to unwrap labels using edge markers

Notifications You must be signed in to change notification settings

pot2mayo/unwrap_labels

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unwrap Labels

The algorithm to unwrap labels using edge markers

How it works

A wine label, being stick to a cylinder surface, is distorted, which reduces quality of at least two operations with it:

  • Image matching (product search by a picture)
  • Recognition of the text on the label

The accuracy of those operations can be highly improved if the label is unwrapped, and the current library provides an easy to use algorithm for that.

A cylinder distortion of the label on a picture makes it look like a barrel (see an example below): original image

The following schema shows, how that happens: schema

The thing is, to revert the distortion, it's only required to specify 6 markers: markers image

The library creates a mesh, which will be transformed into a plane: mesh

The unwrapped image is below. There are two ways to unapply transform - with or without interpolation. The interpolated method generates a better image but requires to have scipy dependency installed (it might be an issue if you use Amazon lambda, which has limited library size):

unwrapped

Unwrapping + Stitching

See our AI based service for auto unwrapping and stitching https://perfectlabel.io

About

Algorithm to unwrap labels using edge markers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%