You are here: Start » Program Examples » Bottle Flattening
Bottle Flattening
Aim
The aim of this example is to transform a cylindrical surface to a flat rectangle.
Input
The image of a bottle with a label on a cylindrical surface.
Output
A flattened part of the image showing the label.
Hints
An image presenting a bottle can be flattened in several ways but the easiest one is to think of the bottle as a cylinder and consider one of the Image Spatial Transforms Maps filters to create a proper map and then display it as an image.
Labeling connections is explained in this article.
You can learn how to turn on sections here.
Solution (FIS)
- Add filter CreateCylinderMap to the INITIALIZE section and set inImageFormat parameters as follows:
- Width: 2058
- Height: 2456
- Type: UInt8
- Depth: 1
- PitchAlignment: 16
2. In this filter you have to specify inCylinderRectangle input.
* Click on this input in Properties window.
* Mark a rectangle on the surface to be flattened.
* Click OK.
3. Set inCylinderRadiusCorrection in Properties window to 2. This parameter describes how many pixels the cylinder radius is larger than the visible circle radius.
4. The previous filter created a spatial map for transformations from the cylinder surface to the flat rectangle. To apply the computed image transform, defined by the spatial map,
a RemapImage filter needs to be used.
5. Add filter LoadImage to the ACQUIRE section.
6. Add the RemapImage filter to the program, connect inImage with outImage of the LoadImage filter and inSpatialMap with outSpatialMap of the CreateCylinderMap.
Macrofilter Main
Used Filters
Icon | Name | Description |
---|---|---|
![]() |
LoadImage | Loads a single image from a file. |
![]() |
RemapImage | Fast (precomputed) image transformations, especially for view undistortion or object geometry correction (e.g. pos recognition of labels on cylindrical bottles). |
![]() |
CreateCylinderMap | Inspection of the surface of bottles and other cylindrical objects. The result is used by RemapImage. |
Further Readings
- Image Processing - A comprehensive introduction to Image Processing.