Aurora Visio Studio TOP » Tutorial Exercises » Edge-based Template Matching: Gasket (ebtm_gasket)
Edge-based Template Matching: Gasket (ebtm_gasket)
Aim
Your task is to create a program which will be able to detect the position of a gasket.
Input
The images of a gasket with variable location and rotation.
The input images are stored in
gasket_inspection
directory.
Output
The location of the object.
Hints
This exercise shows a way to find an object in an image using Edge-based Template Matching. To use EbTM please use LocateSingleObject_Edges1 filter.
Labeling connections is explained in this article.
Solution (AVS)
-
Add EnumerateImages filter to ACQUIRE section to load consecutive images from a disk directory.
-
Add LocateSingleObject_Edges1 filter to PROCESS section and connect it with the input image.
-
Open a template matching editor on inEdgeModel and make sure to select Expert complexity mode in the top right corner. Select the template region as shown in the picture below:
-
Set the Rotation Tolerance to 20 because the angle is a little variable.
-
Display the outImage and outObject.Match outputs on a data preview.
-
Perform several iterations of the program and verify if the results are correct.
-
Set inSearchRegion as shown in the picture below to improve the filter's performance.
-
Add the inSearchRegion and outObject.Point outputs to the data preview to verify the search region.
-
Add AlignRectangle filter and connect outObject.Alignment of LocateSingleObject_Edges1 filter with inAlignment of AlignRectangle filter.
-
Open a rectangle drawing editor on inRectangle and select a rectangle around the gasket as shown in the picture below:
-
Add the outAlignedRectangle output to a data preview.
その他の資料
- Template Matching - Most detailed description of the Template Matching technique.