EasyFindVectorLearn
Support
|
|
Required licenses
|
EasyFind
|
Recommended images
|
Any gray level image from the folder Sample Images\EasyFind
|
Location
|
[…]C:\Users\Public\Documents\Euresys\Open eVision 24.02\Sample Programs \[LANGUAGE] samples\Matching and Measurement\EasyFindVectorLearn
|
|
Purpose
EasyFind learns then finds patterns inside images.
This sample program demonstrates how to:
|
□
|
Use EasyFind with vectorized learning patterns. In this mode, learning is done on collections of 2D geometrical shapes rather than rasterized patterns. |
|
□
|
Open a DXF or Open eVision vector model with File > Open Model. Right-click to change the polarity of a transition. |
|
□
|
Save the vector model with the edited polarity. |
|
□
|
Learn the pattern with the button Learn. |
|
□
|
Open a search image and find the pattern with the button Find . |
Code highlights
|
1.
|
Define a model as a collection of shapes. |
EVectorModel vectorModel;
|
2.
|
Load the vector model from a file. |
vectorModel.Load(fileName);
|
3.
|
Load the vector model from a DXF file. |
vectorModel.LoadDXF(fileName);
|
4.
|
Set the scale of the vector model with respect to the search image. |
vectorModel.GetRoot().GetWorldShape()->SetScale(fScale);
|
5.
|
Set the polarity of any shape in the vector model. |
shape.SetProperty(“polarity”,”direct”);
|
6.
|
Learn a vector pattern. |
patternfinder.Learn(vectorModel);
|
7.
|
Find the pattern that you previously learned inside the image. |
|
►
|
Retrieve the results as a vector of EFoundPatterns. |
std::vector<EFoundPattern> foundPatterns = patternfinder.Find(image);
|
8.
|
Draw the vector model and show the polarity as arrows pointing from a dark to light transition. |
vectorModel.Draw(…);
|
9.
|
Draw a found pattern in the same reference frame as the search image. |
foundPatterns[n].Draw(…);