Easy3DMatchMatch
Support |
|
Required licenses |
Easy3DMatch |
Recommended images |
The images from the folder Sample Images\3D\Easy3DMatch\Match |
Location |
3D Processing\Easy3DMatchMatch \ |
NOTE: | In Visual C#, you cannot set all the options of the E3DMatcher. |
Purpose
The matching consists in aligning the sample on the reference and comparing both to find defects in the sample.
This sample program demonstrates how to:
□ | Match a sample (point cloud or ZMap) on a reference (3D mesh, point cloud or ZMap). |
Code highlights
Use the recommended images:
□ | Reference: .stl or .ply file with goldenScan in the name. |
□ | Sample: .ply file with goldenScan in the name. |
□ | Both reference and sample files should come from the same folder (Object 1 or Object 2). |
□ | In case of .ply reference, they should both contain top or both contain bottom. |
This sample contains many options that are not detailed here. Only the main code path is described here.
1. | Set the reference mesh with its viewpoint (azimuth and elevation angle). |
matcher_.SetReference(referenceMesh_, azimuthReference_, elevationReference_);
2. | Perform the matching for the given sample point cloud with its viewpoint and retrieves the result. |
match_ = matcher_.Match(samplePointCloud_, azimuthSample_, elevationSample_);
3. | Retrieve the result of the comparison as a point cloud containing the point-to-point distances between sample and reference. |
matcher_.GetComparisonPointCloud(resultPointCloud_, true, true, showComparisonResultOnReference_, showResultFullModel_);
4. | Highlight the anomalies detected by the E3DMatcher in the viewer. |
viewer_.AddRenderSource("anomaly_" + i.ToString(), match_.Anomalies[i].BoundingBox, new EC24(255, 255, 255), 128);