Skip to content
This repository was archived by the owner on Oct 18, 2023. It is now read-only.

Commit 49964d8

Browse files
author
Simon Hofmann
committed
Stripped library
1 parent ce7830d commit 49964d8

13 files changed

+34
-245
lines changed

binding.gyp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
"cc/ExternalMemTracking.cc",
2323
"cc/cvTypes/cvTypes.cc",
2424
"cc/cvTypes/imgprocConstants.cc",
25-
"cc/cvTypes/photoConstants.cc",
26-
"cc/cvTypes/videoCaptureProps.cc",
2725
"cc/core/core.cc",
2826
"cc/core/Mat.cc",
2927
"cc/core/MatImgproc.cc",

cc/core/MatBindings.h

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ namespace MatBindings {
135135
std::string executeCatchCvExceptionWorker() {
136136
size = mat.rows * mat.cols * mat.elemSize();
137137
mat.locateROI(sizeTotal, ofs);
138-
138+
139139
if(sizeTotal.width != mat.cols || sizeTotal.height != mat.rows){
140140
return "Cannot call GetData when Region of Interest is defined (i.e. after getRegion) use matrix.copyTo to copy ROI to a new matrix";
141141
}
@@ -934,7 +934,7 @@ namespace MatBindings {
934934
);
935935
}
936936
};
937-
937+
938938
struct EigenWorker : public CatchCvExceptionWorker {
939939
public:
940940
cv::Mat self;
@@ -953,18 +953,18 @@ namespace MatBindings {
953953
return Mat::Converter::wrap(eigenvalues);
954954
}
955955
};
956-
956+
957957
struct SolveWorker : public CatchCvExceptionWorker {
958958
public:
959959
cv::Mat self;
960960
SolveWorker(cv::Mat self) {
961961
this->self = self;
962962
}
963-
963+
964964
cv::Mat mat2;
965965
cv::Mat dst;
966966
int flags = 0; // cv.DECOMP_LU
967-
967+
968968
std::string executeCatchCvExceptionWorker() {
969969
cv::solve(self, mat2, dst, flags);
970970
return "";
@@ -973,20 +973,20 @@ namespace MatBindings {
973973
v8::Local<v8::Value> getReturnValue() {
974974
return Mat::Converter::wrap(dst);
975975
}
976-
976+
977977
bool unwrapRequiredArgs(Nan::NAN_METHOD_ARGS_TYPE info) {
978978
return (
979979
Mat::Converter::arg(0, &mat2, info)
980980
);
981981
}
982-
982+
983983
bool unwrapOptionalArgs(Nan::NAN_METHOD_ARGS_TYPE info) {
984984
return (
985985
IntConverter::optArg(1, &flags, info)
986986
);
987-
}
987+
}
988988
};
989-
989+
990990
#if CV_VERSION_MINOR > 1
991991
struct RotateWorker : public OpWithCodeWorker {
992992
public:
@@ -999,8 +999,5 @@ namespace MatBindings {
999999
}
10001000
};
10011001
#endif
1002-
1003-
10041002
}
1005-
10061003
#endif

cc/cvTypes/cvTypes.cc

Lines changed: 1 addition & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
#include "cvTypes.h"
22
#include "matTypes.h"
33
#include "imgprocConstants.h"
4-
#include "photoConstants.h"
5-
#include "videoCaptureProps.h"
64

75
using namespace cv;
86

97
void CvTypes::Init(v8::Local<v8::Object> target) {
108
initMatTypes(target);
119
ImgprocConstants::Init(target);
12-
PhotoConstants::Init(target);
13-
VideoCaptureProps::Init(target);
1410

1511
FF_SET_CV_CONSTANT(target, NORM_INF);
1612
FF_SET_CV_CONSTANT(target, NORM_L1);
@@ -85,39 +81,6 @@ void CvTypes::Init(v8::Local<v8::Object> target) {
8581
FF_SET_JS_PROP(termCriteriaTypes, EPS, Nan::New<v8::Integer>(cv::TermCriteria::EPS));
8682
target->Set(FF_NEW_STRING("termCriteria"), termCriteriaTypes);
8783

88-
v8::Local<v8::Object> svmConstants = Nan::New<v8::Object>();
89-
FF_SET_JS_PROP(svmConstants, CUSTOM, Nan::New<v8::Integer>(ml::SVM::KernelTypes:: CUSTOM));
90-
FF_SET_JS_PROP(svmConstants, LINEAR, Nan::New<v8::Integer>(ml::SVM::KernelTypes::LINEAR));
91-
FF_SET_JS_PROP(svmConstants, POLY, Nan::New<v8::Integer>(ml::SVM::KernelTypes::POLY));
92-
FF_SET_JS_PROP(svmConstants, RBF, Nan::New<v8::Integer>(ml::SVM::KernelTypes::RBF));
93-
FF_SET_JS_PROP(svmConstants, SIGMOID, Nan::New<v8::Integer>(ml::SVM::KernelTypes::SIGMOID));
94-
FF_SET_JS_PROP(svmConstants, CHI2, Nan::New<v8::Integer>(ml::SVM::KernelTypes::CHI2));
95-
FF_SET_JS_PROP(svmConstants, INTER, Nan::New<v8::Integer>(ml::SVM::KernelTypes::INTER));
96-
97-
FF_SET_JS_PROP(svmConstants, C, Nan::New<v8::Integer>(ml::SVM::ParamTypes::C));
98-
FF_SET_JS_PROP(svmConstants, COEF, Nan::New<v8::Integer>(ml::SVM::ParamTypes::COEF));
99-
FF_SET_JS_PROP(svmConstants, DEGREE, Nan::New<v8::Integer>(ml::SVM::ParamTypes::DEGREE));
100-
FF_SET_JS_PROP(svmConstants, GAMMA, Nan::New<v8::Integer>(ml::SVM::ParamTypes::GAMMA));
101-
FF_SET_JS_PROP(svmConstants, NU, Nan::New<v8::Integer>(ml::SVM::ParamTypes::NU));
102-
FF_SET_JS_PROP(svmConstants, P, Nan::New<v8::Integer>(ml::SVM::ParamTypes::P));
103-
104-
v8::Local<v8::Object> mlConstants = Nan::New<v8::Object>();
105-
FF_SET_JS_PROP(mlConstants, COL_SAMPLE, Nan::New<v8::Integer>(ml::SampleTypes::COL_SAMPLE));
106-
FF_SET_JS_PROP(mlConstants, ROW_SAMPLE, Nan::New<v8::Integer>(ml::SampleTypes::ROW_SAMPLE));
107-
108-
FF_SET_JS_PROP(mlConstants, VAR_CATEGORICAL, Nan::New<v8::Integer>(ml::VariableTypes::VAR_CATEGORICAL));
109-
FF_SET_JS_PROP(mlConstants, VAR_NUMERICAL, Nan::New<v8::Integer>(ml::VariableTypes::VAR_NUMERICAL));
110-
FF_SET_JS_PROP(mlConstants, VAR_ORDERED, Nan::New<v8::Integer>(ml::VariableTypes::VAR_ORDERED));
111-
mlConstants->Set(FF_NEW_STRING("SVM"), svmConstants);
112-
target->Set(FF_NEW_STRING("ml"), mlConstants);
113-
114-
v8::Local<v8::Object> statModelCostants = Nan::New<v8::Object>();
115-
FF_SET_JS_PROP(statModelCostants, COMPRESSED_INPUT, Nan::New<v8::Integer>(ml::StatModel::Flags::COMPRESSED_INPUT));
116-
FF_SET_JS_PROP(statModelCostants, PREPROCESSED_INPUT, Nan::New<v8::Integer>(ml::StatModel::Flags::PREPROCESSED_INPUT));
117-
FF_SET_JS_PROP(statModelCostants, RAW_OUTPUT, Nan::New<v8::Integer>(ml::StatModel::Flags::RAW_OUTPUT));
118-
FF_SET_JS_PROP(statModelCostants, UPDATE_MODEL, Nan::New<v8::Integer>(ml::StatModel::Flags::UPDATE_MODEL));
119-
target->Set(FF_NEW_STRING("statModel"), statModelCostants);
120-
12184
v8::Local<v8::Object> haarCascades = Nan::New<v8::Object>();
12285
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_EYE, FF_NEW_STRING("./haarcascade_eye.xml"));
12386
FF_SET_CONST_WITH_VALUE(haarCascades, HAAR_EYE_TREE_EYEGLASSES, FF_NEW_STRING("./haarcascade_eye_tree_eyeglasses.xml"));
@@ -146,64 +109,10 @@ void CvTypes::Init(v8::Local<v8::Object> target) {
146109
FF_SET_CONST_WITH_VALUE(lbpCascades, LBP_SILVERWARE, FF_NEW_STRING("./lbpcascade_silverware.xml"));
147110
target->Set(FF_NEW_STRING("lbpCascades"), lbpCascades);
148111

149-
FF_SET_JS_PROP(target, REGULAR, Nan::New<v8::Integer>(0));
150-
FF_SET_CV_CONSTANT(target, LMEDS);
151-
FF_SET_CV_CONSTANT(target, RANSAC);
152-
FF_SET_CV_CONSTANT(target, RHO);
153-
154-
FF_SET_CV_CONSTANT(target, SOLVEPNP_ITERATIVE);
155-
FF_SET_CV_CONSTANT(target, SOLVEPNP_EPNP);
156-
FF_SET_CV_CONSTANT(target, SOLVEPNP_P3P);
157-
FF_SET_CV_CONSTANT(target, SOLVEPNP_DLS);
158-
FF_SET_CV_CONSTANT(target, SOLVEPNP_UPNP);
159-
160-
FF_SET_CV_CONSTANT(target, CALIB_CB_ADAPTIVE_THRESH);
161-
FF_SET_CV_CONSTANT(target, CALIB_CB_NORMALIZE_IMAGE);
162-
FF_SET_CV_CONSTANT(target, CALIB_CB_FILTER_QUADS);
163-
FF_SET_CV_CONSTANT(target, CALIB_CB_FAST_CHECK);
164-
165-
FF_SET_CV_CONSTANT(target, CALIB_CB_SYMMETRIC_GRID);
166-
FF_SET_CV_CONSTANT(target, CALIB_CB_ASYMMETRIC_GRID);
167-
FF_SET_CV_CONSTANT(target, CALIB_CB_CLUSTERING);
168-
169-
FF_SET_CV_CONSTANT(target, CALIB_USE_INTRINSIC_GUESS);
170-
FF_SET_CV_CONSTANT(target, CALIB_FIX_ASPECT_RATIO);
171-
FF_SET_CV_CONSTANT(target, CALIB_FIX_PRINCIPAL_POINT);
172-
FF_SET_CV_CONSTANT(target, CALIB_ZERO_TANGENT_DIST);
173-
FF_SET_CV_CONSTANT(target, CALIB_FIX_FOCAL_LENGTH);
174-
FF_SET_CV_CONSTANT(target, CALIB_FIX_K1);
175-
FF_SET_CV_CONSTANT(target, CALIB_FIX_K2);
176-
FF_SET_CV_CONSTANT(target, CALIB_FIX_K3);
177-
FF_SET_CV_CONSTANT(target, CALIB_FIX_K4);
178-
FF_SET_CV_CONSTANT(target, CALIB_FIX_K5);
179-
FF_SET_CV_CONSTANT(target, CALIB_FIX_K6);
180-
FF_SET_CV_CONSTANT(target, CALIB_RATIONAL_MODEL);
181-
FF_SET_CV_CONSTANT(target, CALIB_THIN_PRISM_MODEL);
182-
FF_SET_CV_CONSTANT(target, CALIB_FIX_S1_S2_S3_S4);
183-
FF_SET_CV_CONSTANT(target, CALIB_FIX_INTRINSIC);
184-
FF_SET_CV_CONSTANT(target, CALIB_SAME_FOCAL_LENGTH);
185-
FF_SET_CV_CONSTANT(target, CALIB_ZERO_DISPARITY);
186112
FF_SET_CV_CONSTANT(target, REDUCE_SUM);
187113
FF_SET_CV_CONSTANT(target, REDUCE_AVG);
188114
FF_SET_CV_CONSTANT(target, REDUCE_MAX);
189115
FF_SET_CV_CONSTANT(target, REDUCE_MIN);
190-
#if CV_VERSION_MINOR > 0
191-
FF_SET_CV_CONSTANT(target, CALIB_TILTED_MODEL);
192-
FF_SET_CV_CONSTANT(target, CALIB_FIX_TAUX_TAUY);
193-
FF_SET_CV_CONSTANT(target, CALIB_USE_LU);
194-
#endif
195-
#if CV_VERSION_MINOR > 1
196-
FF_SET_CV_CONSTANT(target, CALIB_USE_QR);
197-
#endif
198-
#if CV_VERSION_MINOR > 2
199-
FF_SET_CV_CONSTANT(target, SOLVEPNP_AP3P);
200-
FF_SET_CV_CONSTANT(target, SOLVEPNP_MAX_COUNT);
201-
FF_SET_CV_CONSTANT(target, CALIB_FIX_TANGENT_DIST);
202-
#endif
203-
FF_SET_CV_CONSTANT(target, FM_7POINT);
204-
FF_SET_CV_CONSTANT(target, FM_8POINT);
205-
FF_SET_CV_CONSTANT(target, FM_LMEDS);
206-
FF_SET_CV_CONSTANT(target, FM_RANSAC);
207116
#if CV_VERSION_MINOR > 1
208117
FF_SET_CV_CONSTANT(target, ROTATE_90_CLOCKWISE);
209118
FF_SET_CV_CONSTANT(target, ROTATE_180);
@@ -223,7 +132,7 @@ void CvTypes::Init(v8::Local<v8::Object> target) {
223132
FF_SET_CV_CONSTANT(target, COLORMAP_PINK);
224133
FF_SET_CV_CONSTANT(target, COLORMAP_HOT);
225134
FF_SET_CV_CONSTANT(target, COLORMAP_PARULA);
226-
135+
227136
FF_SET_CV_CONSTANT(target, DECOMP_LU);
228137
FF_SET_CV_CONSTANT(target, DECOMP_CHOLESKY);
229138
FF_SET_CV_CONSTANT(target, DECOMP_EIG);

cc/cvTypes/cvTypes.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#include "macros.h"
22
#include <opencv2/core.hpp>
33
#include <opencv2/imgproc.hpp>
4-
#include <opencv2/calib3d.hpp>
54

65

76
#ifndef __FF_CVTYPES_H__
@@ -15,4 +14,4 @@ class CvTypes {
1514
static void Init(v8::Local<v8::Object> module);
1615
};
1716

18-
#endif
17+
#endif

cc/cvTypes/imgprocConstants.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#include "macros.h"
22
#include <opencv2/core.hpp>
33
#include <opencv2/imgproc.hpp>
4-
#include <opencv2/ml.hpp>
54

65
#ifndef __FF_IMGPROCCONSTANTS_H__
76
#define __FF_IMGPROCCONSTANTS_H__
@@ -11,4 +10,4 @@ class ImgprocConstants {
1110
static void Init(v8::Local<v8::Object> module);
1211
};
1312

14-
#endif
13+
#endif

cc/cvTypes/photoConstants.cc

Lines changed: 0 additions & 8 deletions
This file was deleted.

cc/cvTypes/photoConstants.h

Lines changed: 0 additions & 14 deletions
This file was deleted.

cc/cvTypes/videoCaptureProps.cc

Lines changed: 0 additions & 90 deletions
This file was deleted.

cc/cvTypes/videoCaptureProps.h

Lines changed: 0 additions & 12 deletions
This file was deleted.

lib/libs.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
const opencvBuild = require(`@nut-tree/opencv-build-${process.platform}`);
22
const { resolvePath, getLibDir, linkSystemLibs } = require('./commons');
33

4+
const desiredModules = [
5+
"core",
6+
"imgcodecs",
7+
"imgproc"
8+
];
9+
410
function linkLibs(libs) {
511
libs
612
.map(lib => lib.libPath)
@@ -21,5 +27,5 @@ if (process.platform === 'win32') {
2127

2228
// if not windows, link libs dynamically
2329
console.log('-L' + resolvePath(opencvBuild.opencvLibDir));
24-
opencvBuild.opencvModules.forEach(lib => console.log(`-lopencv_${lib}`));
30+
opencvBuild.opencvModules.filter(lib => desiredModules.includes(lib)).forEach(lib => console.log(`-lopencv_${lib}`));
2531
console.log('-Wl,-rpath,' + resolvePath(opencvBuild.opencvLibDir));

0 commit comments

Comments
 (0)