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

Commit f695c0e

Browse files
added tests and docs for deep neural nets + added tests for new Mat utilities
1 parent 3c09da6 commit f695c0e

File tree

6 files changed

+96
-7
lines changed

6 files changed

+96
-7
lines changed

cc/modules/dnn/Net.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ struct Net::SetInputWorker : public SimpleWorker {
6161

6262
NAN_METHOD(Net::SetInput) {
6363
SetInputWorker worker(Net::Converter::unwrap(info.This()));
64-
FF_WORKER_SYNC("Net::SetInputWorker", worker);
64+
FF_WORKER_SYNC("Net::SetInput", worker);
6565
info.GetReturnValue().Set(worker.getReturnValue());
6666
}
6767

cc/modules/dnn/dnn.cc

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ NAN_MODULE_INIT(Dnn::Init) {
1616
Nan::SetMethod(target, "readNetFromTensorflow", ReadNetFromTensorflow);
1717
Nan::SetMethod(target, "readNetFromTensorflowAsync", ReadNetFromTensorflowAsync);
1818
Nan::SetMethod(target, "blobFromImage", BlobFromImage);
19-
Nan::SetMethod(target, "blobFromImagsAsync", BlobFromImageAsync);
19+
Nan::SetMethod(target, "blobFromImageAsync", BlobFromImageAsync);
2020
Nan::SetMethod(target, "blobFromImages", BlobFromImages);
2121
Nan::SetMethod(target, "blobFromImagesAsync", BlobFromImagesAsync);
2222
};
@@ -97,9 +97,9 @@ struct Dnn::BlobFromImageWorker : public SimpleWorker {
9797
bool unwrapOptionalArgs(Nan::NAN_METHOD_ARGS_TYPE info) {
9898
return (
9999
DoubleConverter::optArg(1, &scalefactor, info) ||
100-
BoolConverter::optArg(2, &swapRB, info) ||
101-
Size::Converter::optArg(3, &size, info) ||
102-
Vec3::Converter::optArg(4, &mean, info)
100+
Size::Converter::optArg(2, &size, info) ||
101+
Vec3::Converter::optArg(3, &mean, info) ||
102+
BoolConverter::optArg(4, &swapRB, info)
103103
);
104104
}
105105

@@ -108,7 +108,7 @@ struct Dnn::BlobFromImageWorker : public SimpleWorker {
108108
}
109109

110110
bool unwrapOptionalArgsFromOpts(Nan::NAN_METHOD_ARGS_TYPE info) {
111-
v8::Local<v8::Object> opts = info[3]->ToObject();
111+
v8::Local<v8::Object> opts = info[1]->ToObject();
112112
return (
113113
DoubleConverter::optProp(&scalefactor, "scalefactor", opts) ||
114114
BoolConverter::optProp(&swapRB, "swapRB", opts) ||

cc/opencv4nodejs.cc

-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
#include "modules/features2d/features2d.h"
1111
#include "modules/objdetect/objdetect.h"
1212
#include "modules/machinelearning/machinelearning.h"
13-
#include "modules/dnn/dnn.h"
1413
#ifdef HAVE_TRACKING
1514
#include "modules/tracking/tracking.h"
1615
#endif // HAVE_TRACKING

doc/README.md

+12
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,18 @@ Missing some function bindings? No problem! - <a href="https://github.com/justad
260260
* <a href="./machinelearning/SVM.md#load">load</a>
261261
* <a href="./machinelearning/SVM.md#getSupportVectors">getSupportVectors</a>
262262
* <a href="./machinelearning/SVM.md#calcError">calcError</a>
263+
* <a href="./dnn/dnn.md"><b>dnn</b></a>
264+
* <a href="./dnn/Net.md"><b>Net</b></a>
265+
* <a href="./dnn/Net.md#setInput">setInput</a>
266+
* <a href="./dnn/Net.md#setInputAsync">setInputAsync</a>
267+
* <a href="./dnn/Net.md#forward">forward</a>
268+
* <a href="./dnn/Net.md#forwardAsync">forwardAsync</a>
269+
* <a href="./dnn/dnn.md#readNetFromTensorflow">readNetFromTensorflow</a>
270+
* <a href="./dnn/dnn.md#readNetFromTensorflowAsync">readNetFromTensorflowAsync</a>
271+
* <a href="./dnn/dnn.md#blobFromImage">blobFromImage</a>
272+
* <a href="./dnn/dnn.md#blobFromImageAsync">blobFromImageAsync</a>
273+
* <a href="./dnn/dnn.md#blobFromImages">blobFromImages</a>
274+
* <a href="./dnn/dnn.md#blobFromImagesAsync">blobFromImagesAsync</a>
263275
* <a href="./video/video.md"><b>video</b></a>
264276
* <a href="./video/BackgroundSubtractorMOG2.md"><b>BackgroundSubtractorMOG2</b></a>
265277
* <a href="./video/BackgroundSubtractorMOG2.md#apply">apply</a>

doc/dnn/Net.md

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Net (v3.3+)
2+
3+
<a name="setInput"></a>
4+
5+
### setInput
6+
``` javascript
7+
net.setInput(Mat blob, String inputName = '')
8+
```
9+
10+
<a name="setInputAsync"></a>
11+
12+
### setInputAsync
13+
``` javascript
14+
net.setInputAsync(callback(Error err))
15+
net.setInputAsync(String inputName = '', callback(Error err))
16+
```
17+
18+
<a name="forward"></a>
19+
20+
### forward
21+
``` javascript
22+
Mat : forward(String inputName = '')
23+
```
24+
25+
<a name="forwardAsync"></a>
26+
27+
### forwardAsync
28+
``` javascript
29+
forwardAsync(callback(Error err, Mat result))
30+
forwardAsync(String inputName, callback(Error err, Mat result))
31+
```

doc/dnn/dnn.md

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# dnn (v3.3+)
2+
3+
<a name="readNetFromTensorflow"></a>
4+
5+
### readNetFromTensorflow
6+
``` javascript
7+
Net : readNetFromTensorflow(String modelPath)
8+
```
9+
10+
<a name="readNetFromTensorflowAsync"></a>
11+
12+
### readNetFromTensorflowAsync
13+
``` javascript
14+
readNetFromTensorflowAsync(String modelPath, callback(Error err, Net net))
15+
```
16+
17+
<a name="blobFromImage"></a>
18+
19+
### blobFromImage
20+
``` javascript
21+
Mat : blobFromImage(Mat image, Number scaleFactor = 1.0, Size size = Size(), Vec3 mean = Vec3(), Boolean swapRB = true)
22+
```
23+
24+
<a name="blobFromImageAsync"></a>
25+
26+
### blobFromImageAsync
27+
``` javascript
28+
blobFromImageAsync(Mat image, callback(Error err, Mat blob))
29+
blobFromImageAsync(Mat image, ...opts, callback(Error err, Mat blob))
30+
blobFromImageAsync(Mat image, { opts }, callback(Error err, Mat blob))
31+
```
32+
33+
<a name="blobFromImages"></a>
34+
35+
### blobFromImages
36+
``` javascript
37+
Mat : blobFromImages([Mat] image, Number scaleFactor = 1.0, Size size = Size(), Vec3 mean = Vec3(), Boolean swapRB = true)
38+
```
39+
40+
<a name="blobFromImagesAsync"></a>
41+
42+
### blobFromImagesAsync
43+
``` javascript
44+
blobFromImagesAsync([Mat] images, callback(Error err, Mat blob))
45+
blobFromImagesAsync([Mat] images, ...opts, callback(Error err, Mat blob))
46+
blobFromImagesAsync([Mat] images, { opts }, callback(Error err, Mat blob))
47+
```

0 commit comments

Comments
 (0)