You are here: Start » Program Examples » Rubber Ring

Rubber Ring

Aim

The aim of the program is to detect improperly assembled segments of a rubber band.

Input

An image of a chip with an assembled rubber band around it.

Output

Proper and improper segments of the rubber band.

Hints

It is possible to achieve this goal in many ways. This is a simpler solution of the problem in which we recommend to use basically Region Analysis.

Solution (AVS)

  1. Add EnumerateImages filter.
  2. Add ThresholdToRegion_HSx and connect outImage with inRgbImage.
  3. Click on ThresholdToRegion_HSx filter and make these changes in Properties window (in the lower left corner):
    • Set inEndHue to 10.
    • Set inMinSaturation to 190.
    • Set inMaxSaturation to 255.
    • Set inMinBrightness to 65.
    • Set inMaxBrightness to 255. The values above were chosen based on information from the diagHSxImage diagnostic output which displays HSV values. Using the color-picker tool you should easily get these values as well. Please, note that they are prompted as RGB values, but they are HSV values in fact.
  4. Add CloseRegion filter. Connect outRegion from a previous filter with inRegion of the current one.
  5. Click on CloseRegion filter. In Properties window:
  6. Add FillRegionHoles filter. Connect outRegion with inRegion.
  7. Click on FillRegionHoles filter and in Properties window set inMaxHoleArea to 10000 to avoid filling the area inside the rubber ring.
  8. Add OpenRegion filter. Connect outRegion with inRegion.
  9. Click on OpenRegion filter. In Properties window:
  10. Now add new step macrofilter, name it DrawDefects and add following inputs to it:
  11. Get inside newly-created macrofilter and add RegionContours filter.
  12. Connect inRingRegion with inRegion. Click on RegionContours filter and set inContourMode to PixelEdges.
  13. Add another RegionContours filter and connect inErrors with its input inRegion. Set inContourMode to PixelEdges.
  14. Add AverageChannels filter and connect macrofilter's inImage with inImage.
  15. Add DrawPaths_SingleColor filter.
  16. Click on DrawPaths_SingleColor and in Properties window make these changes:
  17. Add another DrawPaths_SingleColor filter.
  18. Click on DrawPaths_SingleColor filter and in Properties window make these changes:
  19. Connect outImage to macrofilter outputs and name it outImage.

Macrofilter Main

Macrofilter DrawDefects

Used Filters

Icon Name Description
CloseRegion Filling-in small gaps in a region without making it thicker.
FillRegionHoles Extends the input region so that it contains also all the pixels previously lying in its holes.
EnumerateImages Emulates image acquisition with images stored on disk.
DrawPaths_SingleColor Draws paths on an image with a single color.
AverageChannels Creates a monochromatic image by averaging the input image channels.
ThresholdToRegion_HSx Extraction of a region characterized with a specific color.
OpenRegion Removing small parts from a region without making it thinner.
RegionContours Computes an array of closed paths corresponding to the contours of the input region.

Further Readings

  • Blob Analysis - Article presents detailed information about the Blob Analysis technique.