forked from justadudewhohacks/opencv4nodejs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcvTypes.cc
233 lines (205 loc) · 11.5 KB
/
cvTypes.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
#include "cvTypes.h"
#include "matTypes.h"
#include "imgprocConstants.h"
#include "photoConstants.h"
#include "videoCaptureProps.h"
using namespace cv;
void CvTypes::Init(v8::Local<v8::Object> target) {
initMatTypes(target);
ImgprocConstants::Init(target);
PhotoConstants::Init(target);
VideoCaptureProps::Init(target);
FF_SET_CV_CONSTANT(target, NORM_INF);
FF_SET_CV_CONSTANT(target, NORM_L1);
FF_SET_CV_CONSTANT(target, NORM_L2);
FF_SET_CV_CONSTANT(target, NORM_L2SQR);
FF_SET_CV_CONSTANT(target, NORM_HAMMING);
FF_SET_CV_CONSTANT(target, NORM_HAMMING2);
FF_SET_CV_CONSTANT(target, NORM_TYPE_MASK);
FF_SET_CV_CONSTANT(target, NORM_RELATIVE);
FF_SET_CV_CONSTANT(target, NORM_MINMAX);
FF_SET_CV_CONSTANT(target, CC_STAT_LEFT);
FF_SET_CV_CONSTANT(target, CC_STAT_TOP);
FF_SET_CV_CONSTANT(target, CC_STAT_WIDTH);
FF_SET_CV_CONSTANT(target, CC_STAT_HEIGHT);
FF_SET_CV_CONSTANT(target, CC_STAT_AREA);
FF_SET_CV_CONSTANT(target, CC_STAT_MAX);
FF_SET_CV_CONSTANT(target, CHAIN_APPROX_NONE);
FF_SET_CV_CONSTANT(target, CHAIN_APPROX_SIMPLE);
FF_SET_CV_CONSTANT(target, CHAIN_APPROX_TC89_L1);
FF_SET_CV_CONSTANT(target, CHAIN_APPROX_TC89_KCOS);
FF_SET_CV_CONSTANT(target, DIST_USER);
FF_SET_CV_CONSTANT(target, DIST_L1);
FF_SET_CV_CONSTANT(target, DIST_L2);
FF_SET_CV_CONSTANT(target, DIST_C);
FF_SET_CV_CONSTANT(target, DIST_L12);
FF_SET_CV_CONSTANT(target, DIST_FAIR);
FF_SET_CV_CONSTANT(target, DIST_WELSCH);
FF_SET_CV_CONSTANT(target, DIST_HUBER);
FF_SET_CV_CONSTANT(target, DIST_MASK_3);
FF_SET_CV_CONSTANT(target, DIST_MASK_5);
FF_SET_CV_CONSTANT(target, DIST_MASK_PRECISE);
FF_SET_CV_CONSTANT(target, DIST_LABEL_CCOMP);
FF_SET_CV_CONSTANT(target, DIST_LABEL_PIXEL);
FF_SET_CV_CONSTANT(target, RETR_EXTERNAL);
FF_SET_CV_CONSTANT(target, RETR_LIST);
FF_SET_CV_CONSTANT(target, RETR_CCOMP);
FF_SET_CV_CONSTANT(target, RETR_TREE);
FF_SET_CV_CONSTANT(target, RETR_FLOODFILL);
FF_SET_CV_CONSTANT(target, CV_CONTOURS_MATCH_I1);
FF_SET_CV_CONSTANT(target, CV_CONTOURS_MATCH_I2);
FF_SET_CV_CONSTANT(target, CV_CONTOURS_MATCH_I3);
FF_SET_CV_CONSTANT(target, FONT_HERSHEY_SIMPLEX);
FF_SET_CV_CONSTANT(target, FONT_HERSHEY_PLAIN);
FF_SET_CV_CONSTANT(target, FONT_HERSHEY_DUPLEX);
FF_SET_CV_CONSTANT(target, FONT_HERSHEY_COMPLEX);
FF_SET_CV_CONSTANT(target, FONT_HERSHEY_TRIPLEX);
FF_SET_CV_CONSTANT(target, FONT_HERSHEY_COMPLEX_SMALL);
FF_SET_CV_CONSTANT(target, FONT_HERSHEY_SCRIPT_SIMPLEX);
FF_SET_CV_CONSTANT(target, FONT_HERSHEY_SCRIPT_COMPLEX);
FF_SET_CV_CONSTANT(target, FONT_ITALIC);
FF_SET_CV_CONSTANT(target, FILLED);
FF_SET_CV_CONSTANT(target, LINE_4);
FF_SET_CV_CONSTANT(target, LINE_8);
FF_SET_CV_CONSTANT(target, LINE_AA);
FF_SET_CV_CONSTANT(target, KMEANS_RANDOM_CENTERS);
FF_SET_CV_CONSTANT(target, KMEANS_PP_CENTERS);
FF_SET_CV_CONSTANT(target, KMEANS_USE_INITIAL_LABELS);
v8::Local<v8::Object> termCriteriaTypes = Nan::New<v8::Object>();
FF_SET_JS_PROP(termCriteriaTypes, COUNT, Nan::New<v8::Integer>(cv::TermCriteria::COUNT));
FF_SET_JS_PROP(termCriteriaTypes, MAX_ITER, Nan::New<v8::Integer>(cv::TermCriteria::MAX_ITER));
FF_SET_JS_PROP(termCriteriaTypes, EPS, Nan::New<v8::Integer>(cv::TermCriteria::EPS));
target->Set(FF_NEW_STRING("termCriteria"), termCriteriaTypes);
v8::Local<v8::Object> svmConstants = Nan::New<v8::Object>();
FF_SET_JS_PROP(svmConstants, CUSTOM, Nan::New<v8::Integer>(ml::SVM::KernelTypes:: CUSTOM));
FF_SET_JS_PROP(svmConstants, LINEAR, Nan::New<v8::Integer>(ml::SVM::KernelTypes::LINEAR));
FF_SET_JS_PROP(svmConstants, POLY, Nan::New<v8::Integer>(ml::SVM::KernelTypes::POLY));
FF_SET_JS_PROP(svmConstants, RBF, Nan::New<v8::Integer>(ml::SVM::KernelTypes::RBF));
FF_SET_JS_PROP(svmConstants, SIGMOID, Nan::New<v8::Integer>(ml::SVM::KernelTypes::SIGMOID));
FF_SET_JS_PROP(svmConstants, CHI2, Nan::New<v8::Integer>(ml::SVM::KernelTypes::CHI2));
FF_SET_JS_PROP(svmConstants, INTER, Nan::New<v8::Integer>(ml::SVM::KernelTypes::INTER));
FF_SET_JS_PROP(svmConstants, C, Nan::New<v8::Integer>(ml::SVM::ParamTypes::C));
FF_SET_JS_PROP(svmConstants, COEF, Nan::New<v8::Integer>(ml::SVM::ParamTypes::COEF));
FF_SET_JS_PROP(svmConstants, DEGREE, Nan::New<v8::Integer>(ml::SVM::ParamTypes::DEGREE));
FF_SET_JS_PROP(svmConstants, GAMMA, Nan::New<v8::Integer>(ml::SVM::ParamTypes::GAMMA));
FF_SET_JS_PROP(svmConstants, NU, Nan::New<v8::Integer>(ml::SVM::ParamTypes::NU));
FF_SET_JS_PROP(svmConstants, P, Nan::New<v8::Integer>(ml::SVM::ParamTypes::P));
v8::Local<v8::Object> mlConstants = Nan::New<v8::Object>();
FF_SET_JS_PROP(mlConstants, COL_SAMPLE, Nan::New<v8::Integer>(ml::SampleTypes::COL_SAMPLE));
FF_SET_JS_PROP(mlConstants, ROW_SAMPLE, Nan::New<v8::Integer>(ml::SampleTypes::ROW_SAMPLE));
FF_SET_JS_PROP(mlConstants, VAR_CATEGORICAL, Nan::New<v8::Integer>(ml::VariableTypes::VAR_CATEGORICAL));
FF_SET_JS_PROP(mlConstants, VAR_NUMERICAL, Nan::New<v8::Integer>(ml::VariableTypes::VAR_NUMERICAL));
FF_SET_JS_PROP(mlConstants, VAR_ORDERED, Nan::New<v8::Integer>(ml::VariableTypes::VAR_ORDERED));
mlConstants->Set(FF_NEW_STRING("SVM"), svmConstants);
target->Set(FF_NEW_STRING("ml"), mlConstants);
v8::Local<v8::Object> statModelCostants = Nan::New<v8::Object>();
FF_SET_JS_PROP(statModelCostants, COMPRESSED_INPUT, Nan::New<v8::Integer>(ml::StatModel::Flags::COMPRESSED_INPUT));
FF_SET_JS_PROP(statModelCostants, PREPROCESSED_INPUT, Nan::New<v8::Integer>(ml::StatModel::Flags::PREPROCESSED_INPUT));
FF_SET_JS_PROP(statModelCostants, RAW_OUTPUT, Nan::New<v8::Integer>(ml::StatModel::Flags::RAW_OUTPUT));
FF_SET_JS_PROP(statModelCostants, UPDATE_MODEL, Nan::New<v8::Integer>(ml::StatModel::Flags::UPDATE_MODEL));
target->Set(FF_NEW_STRING("statModel"), statModelCostants);
v8::Local<v8::Object> haarCascades = Nan::New<v8::Object>();
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_EYE, FF_NEW_STRING("./haarcascade_eye.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_EYE_TREE_EYEGLASSES, FF_NEW_STRING("./haarcascade_eye_tree_eyeglasses.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_FRONTALCATFACE, FF_NEW_STRING("./haarcascade_frontalcatface.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_FRONTALCATFACE_EXTENDED, FF_NEW_STRING("./haarcascade_frontalcatface_extended.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_FRONTALFACE_ALT, FF_NEW_STRING("./haarcascade_frontalface_alt.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_FRONTALFACE_ALT2, FF_NEW_STRING("./haarcascade_frontalface_alt2.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_FRONTALFACE_ALT_TREE, FF_NEW_STRING("./haarcascade_frontalface_alt_tree.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_FRONTALFACE_DEFAULT, FF_NEW_STRING("./haarcascade_frontalface_default.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_FULLBODY, FF_NEW_STRING("./haarcascade_fullbody.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_LEFTEYE_2SPLITS, FF_NEW_STRING("./haarcascade_lefteye_2splits.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_LICENCE_PLATE_RUS_16STAGES, FF_NEW_STRING("./haarcascade_licence_plate_rus_16stages.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_LOWERBODY, FF_NEW_STRING("./haarcascade_lowerbody.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_PROFILEFACE, FF_NEW_STRING("./haarcascade_profileface.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_RIGHTEYE_2SPLITS, FF_NEW_STRING("./haarcascade_righteye_2splits.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_RUSSIAN_PLATE_NUMBER, FF_NEW_STRING("./haarcascade_russian_plate_number.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_SMILE, FF_NEW_STRING("./haarcascade_smile.xml"));
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_UPPERBODY, FF_NEW_STRING("./haarcascade_upperbody.xml"));
target->Set(FF_NEW_STRING("haarCascades"), haarCascades);
v8::Local<v8::Object> lbpCascades = Nan::New<v8::Object>();
FF_SET_CONST_WITH_VALUE(lbpCascades, LBP_FRONTALCATFACE, FF_NEW_STRING("./lbpcascade_frontalcatface.xml"));
FF_SET_CONST_WITH_VALUE(lbpCascades, LBP_FRONTALFACE, FF_NEW_STRING("./lbpcascade_frontalface.xml"));
FF_SET_CONST_WITH_VALUE(lbpCascades, LBP_FRONTALFACE_IMPROVED, FF_NEW_STRING("./lbpcascade_frontalface_improved.xml"));
FF_SET_CONST_WITH_VALUE(lbpCascades, LBP_PROFILEFACE, FF_NEW_STRING("./lbpcascade_profileface.xml"));
FF_SET_CONST_WITH_VALUE(lbpCascades, LBP_SILVERWARE, FF_NEW_STRING("./lbpcascade_silverware.xml"));
target->Set(FF_NEW_STRING("lbpCascades"), lbpCascades);
FF_SET_JS_PROP(target, REGULAR, Nan::New<v8::Integer>(0));
FF_SET_CV_CONSTANT(target, LMEDS);
FF_SET_CV_CONSTANT(target, RANSAC);
FF_SET_CV_CONSTANT(target, RHO);
FF_SET_CV_CONSTANT(target, SOLVEPNP_ITERATIVE);
FF_SET_CV_CONSTANT(target, SOLVEPNP_EPNP);
FF_SET_CV_CONSTANT(target, SOLVEPNP_P3P);
FF_SET_CV_CONSTANT(target, SOLVEPNP_DLS);
FF_SET_CV_CONSTANT(target, SOLVEPNP_UPNP);
FF_SET_CV_CONSTANT(target, CALIB_CB_ADAPTIVE_THRESH);
FF_SET_CV_CONSTANT(target, CALIB_CB_NORMALIZE_IMAGE);
FF_SET_CV_CONSTANT(target, CALIB_CB_FILTER_QUADS);
FF_SET_CV_CONSTANT(target, CALIB_CB_FAST_CHECK);
FF_SET_CV_CONSTANT(target, CALIB_CB_SYMMETRIC_GRID);
FF_SET_CV_CONSTANT(target, CALIB_CB_ASYMMETRIC_GRID);
FF_SET_CV_CONSTANT(target, CALIB_CB_CLUSTERING);
FF_SET_CV_CONSTANT(target, CALIB_USE_INTRINSIC_GUESS);
FF_SET_CV_CONSTANT(target, CALIB_FIX_ASPECT_RATIO);
FF_SET_CV_CONSTANT(target, CALIB_FIX_PRINCIPAL_POINT);
FF_SET_CV_CONSTANT(target, CALIB_ZERO_TANGENT_DIST);
FF_SET_CV_CONSTANT(target, CALIB_FIX_FOCAL_LENGTH);
FF_SET_CV_CONSTANT(target, CALIB_FIX_K1);
FF_SET_CV_CONSTANT(target, CALIB_FIX_K2);
FF_SET_CV_CONSTANT(target, CALIB_FIX_K3);
FF_SET_CV_CONSTANT(target, CALIB_FIX_K4);
FF_SET_CV_CONSTANT(target, CALIB_FIX_K5);
FF_SET_CV_CONSTANT(target, CALIB_FIX_K6);
FF_SET_CV_CONSTANT(target, CALIB_RATIONAL_MODEL);
FF_SET_CV_CONSTANT(target, CALIB_THIN_PRISM_MODEL);
FF_SET_CV_CONSTANT(target, CALIB_FIX_S1_S2_S3_S4);
FF_SET_CV_CONSTANT(target, CALIB_FIX_INTRINSIC);
FF_SET_CV_CONSTANT(target, CALIB_SAME_FOCAL_LENGTH);
FF_SET_CV_CONSTANT(target, CALIB_ZERO_DISPARITY);
FF_SET_CV_CONSTANT(target, REDUCE_SUM);
FF_SET_CV_CONSTANT(target, REDUCE_AVG);
FF_SET_CV_CONSTANT(target, REDUCE_MAX);
FF_SET_CV_CONSTANT(target, REDUCE_MIN);
#if CV_VERSION_MINOR > 0
FF_SET_CV_CONSTANT(target, CALIB_TILTED_MODEL);
FF_SET_CV_CONSTANT(target, CALIB_FIX_TAUX_TAUY);
FF_SET_CV_CONSTANT(target, CALIB_USE_LU);
#endif
#if CV_VERSION_MINOR > 1
FF_SET_CV_CONSTANT(target, CALIB_USE_QR);
#endif
#if CV_VERSION_MINOR > 2
FF_SET_CV_CONSTANT(target, SOLVEPNP_AP3P);
FF_SET_CV_CONSTANT(target, SOLVEPNP_MAX_COUNT);
FF_SET_CV_CONSTANT(target, CALIB_FIX_TANGENT_DIST);
#endif
FF_SET_CV_CONSTANT(target, FM_7POINT);
FF_SET_CV_CONSTANT(target, FM_8POINT);
FF_SET_CV_CONSTANT(target, FM_LMEDS);
FF_SET_CV_CONSTANT(target, FM_RANSAC);
#if CV_VERSION_MINOR > 1
FF_SET_CV_CONSTANT(target, ROTATE_90_CLOCKWISE);
FF_SET_CV_CONSTANT(target, ROTATE_180);
FF_SET_CV_CONSTANT(target, ROTATE_90_COUNTERCLOCKWISE);
#endif
FF_SET_CV_CONSTANT(target, COLORMAP_AUTUMN);
FF_SET_CV_CONSTANT(target, COLORMAP_BONE);
FF_SET_CV_CONSTANT(target, COLORMAP_JET);
FF_SET_CV_CONSTANT(target, COLORMAP_WINTER);
FF_SET_CV_CONSTANT(target, COLORMAP_RAINBOW);
FF_SET_CV_CONSTANT(target, COLORMAP_OCEAN);
FF_SET_CV_CONSTANT(target, COLORMAP_SUMMER);
FF_SET_CV_CONSTANT(target, COLORMAP_SPRING);
FF_SET_CV_CONSTANT(target, COLORMAP_COOL);
FF_SET_CV_CONSTANT(target, COLORMAP_HSV);
FF_SET_CV_CONSTANT(target, COLORMAP_PINK);
FF_SET_CV_CONSTANT(target, COLORMAP_HOT);
FF_SET_CV_CONSTANT(target, COLORMAP_PARULA);
FF_SET_CV_CONSTANT(target, DECOMP_LU);
FF_SET_CV_CONSTANT(target, DECOMP_CHOLESKY);
FF_SET_CV_CONSTANT(target, DECOMP_EIG);
FF_SET_CV_CONSTANT(target, DECOMP_SVD);
FF_SET_CV_CONSTANT(target, DECOMP_QR);
FF_SET_CV_CONSTANT(target, DECOMP_NORMAL);
}