CVB++ 15.0
c_dnc_find.h
1#pragma once
2
3#if defined __GNUC__ && !defined CVB_SHOW_WARNINGS
4# pragma GCC system_header
5#endif // __GNUC__
6
7#include "../namespace.hpp"
8
9#include "c_img.h"
10#include "c_core_3d.h"
11
12namespace Cvb
13{
14
15CVB_BEGIN_INLINE_NS
16
17namespace CExports
18{
19
20typedef void* CVDNCFINDER;
21typedef void* CVDNCRESULTS;
22
23#pragma pack (push, 4)
24struct CVDNCSearchParams
25{
26 double HypothesesThreshold;
27 int DerivativePatchSize;
28 double IndifferentRadius;
29 int PartsToFind;
30 bool RawResultsOnly;
31 int ICPShrink;
32 int ICPMaxIterations;
33 double PrecisionThreshold;
34 double MinCoverage;
35 double MaxOcclusion;
36 double MaxInconsistency;
37 double MinScore;
38};
39#pragma pack (pop)
40
41
42#pragma pack ( push, 4)
43struct CVDNCResult
44{
45 CVC3DPointD Position;
46 CVC3DPointD RotationVector;
47 double Theta;
48 double Score;
49};
50#pragma pack ( pop )
51
52
53#pragma pack (push, 4)
54struct CVDNCTeachParams
55{
56 double HeightSensitivity;
57 int DerivativePatchSize;
58 int LocalDistributionSize;
59 int NumGradientFeatures;
60 int NumNormalFeatures;
61 int IcpShrink;
62 double DistanceKernelSize;
63};
64#pragma pack (pop)
65
66CVB_DEF_CAPI(cvbres_t, CVDNCCreateFromFile, (const char* FileName, CVDNCFINDER& Dncf))
67CVB_DEF_CAPI(cvbres_t, CVDNCCreateFromFileW, (const wchar_t* FileName, CVDNCFINDER& Dncf))
68
69CVB_DEF_CAPI(cvbres_t, CVDNCSaveClassifier, (CVDNCFINDER Dncf, const char* FileName))
70CVB_DEF_CAPI(cvbres_t, CVDNCSaveClassifierW, (CVDNCFINDER Dncf, const wchar_t* FileName))
71
72CVB_DEF_CAPI(cvbres_t, CVDNCSetSearchParams, (CVDNCFINDER Dncf, CVDNCSearchParams params))
73CVB_DEF_CAPI(cvbres_t, CVDNCGetSearchParams, (CVDNCFINDER Dncf, CVDNCSearchParams& params))
74
75CVB_DEF_CAPI(cvbres_t, CVDNCFind, (CVDNCFINDER Dncf, CVCOMPOSITE DenseCloud, CVDNCRESULTS& Results))
76
77IMPORT(cvbint32_t) CVDNCGetNumResults(CVDNCRESULTS Results);
78CVB_DEF_CAPI(cvbres_t, CVDNCGetResult, (CVDNCRESULTS Results, cvbdim_t Index, CVDNCResult& Result))
79
80CVB_DEF_CAPI(cvbres_t, CVDNCGetTeachParams, (CVDNCFINDER Dncf, double& resolution, double& fringe, CVDNCTeachParams& params))
81
82inline cvbres_t _ppCVDNCCreateFromFileTyped(const char* FileName, CVDNCFINDER& Dncf)
83{
84 return CVDNCCreateFromFile(FileName, Dncf);
85}
86
87inline cvbres_t _ppCVDNCCreateFromFileTyped(const wchar_t* FileName, CVDNCFINDER& Dncf)
88{
89 return CVDNCCreateFromFileW(FileName, Dncf);
90}
91
92inline cvbres_t _ppCVDNCSaveClassifierTyped(CVDNCFINDER Dncf, const char* FileName)
93{
94 return CVDNCSaveClassifier(Dncf, FileName);
95}
96
97inline cvbres_t _ppCVDNCSaveClassifierTyped(CVDNCFINDER Dncf, const wchar_t* FileName)
98{
99 return CVDNCSaveClassifierW(Dncf, FileName);
100}
101
102
103}
104
105CVB_END_INLINE_NS
106
107}
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17