@camera.ui/camera-ui-wasm-motion 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/defaults.d.ts +2 -2
- package/dist/defaults.js +2 -2
- package/dist/detector.d.ts +4 -14
- package/dist/detector.js +65 -139
- package/dist/detector.js.map +1 -1
- package/dist/wasm/build/detector.d.ts +89 -33
- package/dist/wasm/build/detector.js +43 -7
- package/dist/wasm/build/detector.wasm +0 -0
- package/package.json +10 -10
package/dist/defaults.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const DEFAULT_MOTION_AREA = 500;
|
|
2
|
-
export declare const DEFAULT_THRESHOLD =
|
|
2
|
+
export declare const DEFAULT_THRESHOLD = 50;
|
|
3
3
|
export declare const DEFAULT_BLUR_RADIUS = 3;
|
|
4
|
-
export declare const DEFAULT_DILATION_SIZE =
|
|
4
|
+
export declare const DEFAULT_DILATION_SIZE = 31;
|
package/dist/defaults.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const DEFAULT_MOTION_AREA = 500;
|
|
2
|
-
export const DEFAULT_THRESHOLD =
|
|
2
|
+
export const DEFAULT_THRESHOLD = 50;
|
|
3
3
|
export const DEFAULT_BLUR_RADIUS = 3;
|
|
4
|
-
export const DEFAULT_DILATION_SIZE =
|
|
4
|
+
export const DEFAULT_DILATION_SIZE = 31;
|
|
5
5
|
//# sourceMappingURL=defaults.js.map
|
package/dist/detector.d.ts
CHANGED
|
@@ -8,24 +8,14 @@ export declare class CameraDetector {
|
|
|
8
8
|
private started;
|
|
9
9
|
private closed;
|
|
10
10
|
private restarting;
|
|
11
|
-
private
|
|
12
|
-
private
|
|
13
|
-
private framePtr;
|
|
14
|
-
private boxesPtr;
|
|
15
|
-
private tempPtr;
|
|
16
|
-
private visitedPtr;
|
|
17
|
-
private queuePtr;
|
|
18
|
-
private memoryBuffer;
|
|
11
|
+
private initiated;
|
|
12
|
+
private wasmExports?;
|
|
19
13
|
constructor(cameraDevice: CameraDevice, api: PluginAPI, logger: LoggerService);
|
|
20
14
|
start(): Promise<void>;
|
|
15
|
+
private initiateWASM;
|
|
21
16
|
private setupMemory;
|
|
17
|
+
private startDetection;
|
|
22
18
|
close(): void;
|
|
23
19
|
restart(): Promise<void>;
|
|
24
|
-
private reset;
|
|
25
|
-
private startDetection;
|
|
26
|
-
private setupPreviousFrame;
|
|
27
|
-
private getMotionData;
|
|
28
20
|
private createCameraStorage;
|
|
29
|
-
private unpinSafe;
|
|
30
|
-
private collectSafe;
|
|
31
21
|
}
|
package/dist/detector.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { instantiate } from '@assemblyscript/loader';
|
|
2
|
-
import
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
3
|
import { dirname, resolve } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { DEFAULT_BLUR_RADIUS, DEFAULT_DILATION_SIZE, DEFAULT_MOTION_AREA, DEFAULT_THRESHOLD } from './defaults.js';
|
|
@@ -13,14 +13,8 @@ export class CameraDetector {
|
|
|
13
13
|
started = false;
|
|
14
14
|
closed = false;
|
|
15
15
|
restarting = false;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
framePtr = 0;
|
|
19
|
-
boxesPtr = 0;
|
|
20
|
-
tempPtr = 0;
|
|
21
|
-
visitedPtr = 0;
|
|
22
|
-
queuePtr = 0;
|
|
23
|
-
memoryBuffer;
|
|
16
|
+
initiated = false;
|
|
17
|
+
wasmExports;
|
|
24
18
|
constructor(cameraDevice, api, logger) {
|
|
25
19
|
this.api = api;
|
|
26
20
|
this.cameraDevice = cameraDevice;
|
|
@@ -40,83 +34,47 @@ export class CameraDetector {
|
|
|
40
34
|
this.started = true;
|
|
41
35
|
this.closed = false;
|
|
42
36
|
this.logger.log(`Starting motion detection for camera ${this.cameraDevice.name}`);
|
|
43
|
-
|
|
44
|
-
const wasmPath = resolve(__dirname, './wasm/build/detector.wasm');
|
|
45
|
-
this.wasmModule = await instantiate(fs.readFileSync(wasmPath), {
|
|
46
|
-
console: {
|
|
47
|
-
log: (messagePtr) => {
|
|
48
|
-
this.logger.log(this.wasmModule.exports.__getString(messagePtr));
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
env: {
|
|
52
|
-
abort: (msg, file, line, column) => {
|
|
53
|
-
this.logger.warn(`WASM abort message: ${this.wasmModule.exports.__getString(msg)} at ${this.wasmModule.exports.__getString(file)}:${line}:${column}`);
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
this.setupMemory();
|
|
58
|
-
}
|
|
37
|
+
await this.initiateWASM();
|
|
59
38
|
this.startDetection().catch((error) => {
|
|
60
39
|
this.logger.error(this.cameraDevice.name, 'Error generating frames', error);
|
|
61
40
|
this.restart();
|
|
62
41
|
});
|
|
63
42
|
}
|
|
64
43
|
}
|
|
65
|
-
|
|
66
|
-
if (
|
|
67
|
-
throw new Error('Wasm not initiated');
|
|
68
|
-
}
|
|
69
|
-
this.memoryBuffer = new Uint8Array(this.wasmModule.exports.memory.buffer);
|
|
70
|
-
const width = this.cameraDevice.frameWorkerSettings.resolution;
|
|
71
|
-
const maxFrameLength = width * width;
|
|
72
|
-
this.tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(maxFrameLength, this.wasmModule.exports.Uint8Array_ID.value));
|
|
73
|
-
this.visitedPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(maxFrameLength, this.wasmModule.exports.Uint8Array_ID.value));
|
|
74
|
-
this.queuePtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(maxFrameLength * 4, this.wasmModule.exports.Uint8Array_ID.value));
|
|
75
|
-
// this.boxesPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(maxFrameLength * 4, this.wasmModule.exports.Uint8Array_ID.value));
|
|
76
|
-
}
|
|
77
|
-
close() {
|
|
78
|
-
if (this.started && !this.closed) {
|
|
79
|
-
this.started = false;
|
|
80
|
-
this.closed = true;
|
|
81
|
-
this.logger.log(`Stopping motion detection for camera ${this.cameraDevice.name}`);
|
|
82
|
-
this.cameraDevice.updateState('motion', { state: false, detections: [] });
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
async restart() {
|
|
86
|
-
if (this.restarting) {
|
|
44
|
+
async initiateWASM() {
|
|
45
|
+
if (this.initiated) {
|
|
87
46
|
return;
|
|
88
47
|
}
|
|
89
|
-
this.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
48
|
+
this.initiated = true;
|
|
49
|
+
const wasmModule = await instantiate(readFileSync(resolve(__dirname, './wasm/build/detector.wasm')), {
|
|
50
|
+
console: {
|
|
51
|
+
log: (messagePtr) => {
|
|
52
|
+
console.log(this.wasmExports.__getString(messagePtr));
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
env: {
|
|
56
|
+
abort: (msgPtr, filePtr, line, column) => {
|
|
57
|
+
const msg = this.wasmExports.__getString(msgPtr);
|
|
58
|
+
const file = this.wasmExports.__getString(filePtr);
|
|
59
|
+
console.error(`Abort called at ${file}:${line}:${column}`, msg);
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
this.wasmExports = wasmModule.exports;
|
|
64
|
+
this.setupMemory();
|
|
99
65
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
this.
|
|
105
|
-
this.
|
|
106
|
-
this.unpinSafe(this.boxesPtr);
|
|
107
|
-
this.unpinSafe(this.framePtr);
|
|
108
|
-
// Setzen Sie alle Pointer auf null zurück
|
|
109
|
-
this.previousFramePtr = null;
|
|
110
|
-
this.framePtr = 0;
|
|
111
|
-
this.boxesPtr = 0;
|
|
112
|
-
this.tempPtr = 0;
|
|
113
|
-
this.visitedPtr = 0;
|
|
114
|
-
this.queuePtr = 0;
|
|
115
|
-
this.collectSafe();
|
|
116
|
-
// Setzen Sie den memoryBuffer zurück
|
|
117
|
-
this.memoryBuffer = new Uint8Array();
|
|
66
|
+
setupMemory() {
|
|
67
|
+
if (!this.wasmExports) {
|
|
68
|
+
throw new Error('Wasm not initiated');
|
|
69
|
+
}
|
|
70
|
+
const [width, height] = this.cameraDevice.frameWorkerSettings.resolution.split('x').map((v) => parseInt(v, 10));
|
|
71
|
+
this.wasmExports.initialize(width, height);
|
|
118
72
|
}
|
|
119
73
|
async startDetection() {
|
|
74
|
+
if (!this.wasmExports) {
|
|
75
|
+
throw new Error('Wasm not initiated');
|
|
76
|
+
}
|
|
77
|
+
const { detectMotion, getNumBoxes, __newArray, __getInt32Array, __pin, __unpin, __collect, Uint8Array_ID } = this.wasmExports;
|
|
120
78
|
for await (const frame of this.cameraDevice.getFrames()) {
|
|
121
79
|
if (this.closed || this.restarting) {
|
|
122
80
|
break;
|
|
@@ -133,69 +91,55 @@ export class CameraDetector {
|
|
|
133
91
|
if (this.closed || this.restarting) {
|
|
134
92
|
break;
|
|
135
93
|
}
|
|
94
|
+
const inputPtr = __pin(__newArray(Uint8Array_ID.value, frameImage.image));
|
|
95
|
+
const resultPtr = detectMotion(inputPtr, threshold, blurRadius, dilationSize, motionArea);
|
|
96
|
+
const numBoxes = getNumBoxes();
|
|
97
|
+
const boxesArray = __getInt32Array(resultPtr);
|
|
136
98
|
const detections = [];
|
|
137
|
-
|
|
138
|
-
|
|
99
|
+
for (let i = 0; i < numBoxes; i++) {
|
|
100
|
+
const x = boxesArray[i * 4];
|
|
101
|
+
const y = boxesArray[i * 4 + 1];
|
|
102
|
+
const w = boxesArray[i * 4 + 2];
|
|
103
|
+
const h = boxesArray[i * 4 + 3];
|
|
139
104
|
detections.push({
|
|
140
105
|
label: 'motion',
|
|
141
106
|
confidence: 1,
|
|
142
|
-
boundingBox: [
|
|
107
|
+
boundingBox: [x, y, x + w, y + h],
|
|
143
108
|
inputWidth: frameImage.info.width,
|
|
144
109
|
inputHeight: frameImage.info.height,
|
|
145
110
|
origWidth: frame.metadata.origWidth,
|
|
146
111
|
origHeight: frame.metadata.origHeight,
|
|
147
112
|
});
|
|
148
113
|
}
|
|
114
|
+
__unpin(inputPtr);
|
|
115
|
+
__collect();
|
|
149
116
|
await this.cameraDevice.updateState('motion', { detections: detections }, frame);
|
|
150
117
|
}
|
|
151
118
|
}
|
|
152
|
-
|
|
153
|
-
if (this.
|
|
154
|
-
this.
|
|
155
|
-
this.
|
|
156
|
-
this.
|
|
119
|
+
close() {
|
|
120
|
+
if (this.started && !this.closed) {
|
|
121
|
+
this.started = false;
|
|
122
|
+
this.closed = true;
|
|
123
|
+
this.logger.log(`Stopping motion detection for camera ${this.cameraDevice.name}`);
|
|
124
|
+
this.cameraDevice.updateState('motion', {
|
|
125
|
+
state: false,
|
|
126
|
+
detections: [],
|
|
127
|
+
});
|
|
157
128
|
}
|
|
158
|
-
const frameLength = width * height;
|
|
159
|
-
const framePtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__newArrayBuffer(frame));
|
|
160
|
-
this.wasmModule.exports.stackBlur(framePtr, this.tempPtr, width, height, blurRadius);
|
|
161
|
-
this.previousFramePtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__newArrayBuffer(new Uint8Array(this.memoryBuffer.buffer, framePtr, frameLength)));
|
|
162
|
-
this.unpinSafe(framePtr);
|
|
163
129
|
}
|
|
164
|
-
|
|
165
|
-
if (
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
try {
|
|
169
|
-
if (this.previousFramePtr === null) {
|
|
170
|
-
this.setupPreviousFrame(frame, width, height, blurRadius);
|
|
171
|
-
return [];
|
|
172
|
-
}
|
|
173
|
-
const frameLength = width * height;
|
|
174
|
-
this.framePtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__newArrayBuffer(frame));
|
|
175
|
-
this.boxesPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(frameLength, this.wasmModule.exports.Uint8Array_ID.value));
|
|
176
|
-
this.wasmModule.exports.stackBlur(this.framePtr, this.tempPtr, width, height, blurRadius);
|
|
177
|
-
this.wasmModule.exports.createMotionMask(this.previousFramePtr, this.framePtr, width, height, threshold);
|
|
178
|
-
this.wasmModule.exports.dilate(this.framePtr, this.tempPtr, width, height, dilationSize);
|
|
179
|
-
const numBoxes = this.wasmModule.exports.findBoundingBoxes(this.framePtr, this.visitedPtr, this.queuePtr, this.boxesPtr, width, height, motionArea);
|
|
180
|
-
const boxes = [];
|
|
181
|
-
const boxesArray = new Int32Array(this.wasmModule.exports.memory.buffer, this.boxesPtr, numBoxes * 4);
|
|
182
|
-
for (let i = 0; i < numBoxes; i++) {
|
|
183
|
-
const x = boxesArray[i * 4];
|
|
184
|
-
const y = boxesArray[i * 4 + 1];
|
|
185
|
-
const w = boxesArray[i * 4 + 2];
|
|
186
|
-
const h = boxesArray[i * 4 + 3];
|
|
187
|
-
boxes.push([x, y, x + w, y + h]);
|
|
188
|
-
}
|
|
189
|
-
this.unpinSafe(this.framePtr);
|
|
190
|
-
this.unpinSafe(this.boxesPtr);
|
|
191
|
-
this.collectSafe();
|
|
192
|
-
this.setupPreviousFrame(frame, width, height, blurRadius);
|
|
193
|
-
return boxes;
|
|
130
|
+
async restart() {
|
|
131
|
+
if (this.restarting) {
|
|
132
|
+
return;
|
|
194
133
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
134
|
+
this.restarting = true;
|
|
135
|
+
this.logger.log(`Restarting motion detection for camera ${this.cameraDevice.name}`);
|
|
136
|
+
this.close();
|
|
137
|
+
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
138
|
+
this.initiated = false;
|
|
139
|
+
if (this.cameraDevice.connected) {
|
|
140
|
+
await this.start();
|
|
198
141
|
}
|
|
142
|
+
this.restarting = false;
|
|
199
143
|
}
|
|
200
144
|
createCameraStorage() {
|
|
201
145
|
const cameraStorage = this.api.storageController.createCameraStorage(this, this.cameraDevice.id, {
|
|
@@ -266,23 +210,5 @@ export class CameraDetector {
|
|
|
266
210
|
});
|
|
267
211
|
return cameraStorage;
|
|
268
212
|
}
|
|
269
|
-
unpinSafe(ptr) {
|
|
270
|
-
if (ptr !== null) {
|
|
271
|
-
try {
|
|
272
|
-
this.wasmModule.exports.__unpin(ptr);
|
|
273
|
-
}
|
|
274
|
-
catch {
|
|
275
|
-
//
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
collectSafe() {
|
|
280
|
-
try {
|
|
281
|
-
this.wasmModule.exports.__collect();
|
|
282
|
-
}
|
|
283
|
-
catch {
|
|
284
|
-
//
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
213
|
}
|
|
288
214
|
//# sourceMappingURL=detector.js.map
|
package/dist/detector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,54 +13,120 @@ declare namespace __AdaptedExports {
|
|
|
13
13
|
*/
|
|
14
14
|
export function log(s: string): void;
|
|
15
15
|
/**
|
|
16
|
-
* assembly/index/
|
|
16
|
+
* assembly/index/initialize
|
|
17
|
+
* @param w `i32`
|
|
18
|
+
* @param h `i32`
|
|
19
|
+
*/
|
|
20
|
+
export function initialize(w: number, h: number): void;
|
|
21
|
+
/**
|
|
22
|
+
* assembly/index/detectMotion
|
|
23
|
+
* @param inputFrame `~lib/typedarray/Uint8Array`
|
|
24
|
+
* @param threshold `i32`
|
|
17
25
|
* @param radius `i32`
|
|
26
|
+
* @param dilationSize `i32`
|
|
27
|
+
* @param minArea `i32`
|
|
28
|
+
* @returns `~lib/typedarray/Int32Array`
|
|
29
|
+
*/
|
|
30
|
+
export function detectMotion(inputFrame: Uint8Array, threshold: number, radius: number, dilationSize: number, minArea: number): Int32Array;
|
|
31
|
+
/**
|
|
32
|
+
* assembly/index/getNumBoxes
|
|
33
|
+
* @returns `i32`
|
|
18
34
|
*/
|
|
19
|
-
export function
|
|
35
|
+
export function getNumBoxes(): number;
|
|
36
|
+
/** assembly/index/Uint8Array_ID */
|
|
37
|
+
export const Uint8Array_ID: {
|
|
38
|
+
/** @type `u32` */
|
|
39
|
+
get value(): number
|
|
40
|
+
};
|
|
20
41
|
/**
|
|
21
|
-
* assembly/
|
|
42
|
+
* assembly/test/blurFrameSIMD
|
|
22
43
|
* @param framePtr `usize`
|
|
23
|
-
* @param
|
|
44
|
+
* @param tempFramePtr `usize`
|
|
24
45
|
* @param width `i32`
|
|
25
46
|
* @param height `i32`
|
|
26
47
|
* @param radius `i32`
|
|
27
48
|
*/
|
|
28
|
-
export function
|
|
49
|
+
export function blurFrameSIMD(framePtr: number, tempFramePtr: number, width: number, height: number, radius: number): void;
|
|
29
50
|
/**
|
|
30
|
-
* assembly/
|
|
31
|
-
* @param
|
|
32
|
-
* @param
|
|
51
|
+
* assembly/test/detectMotionSIMD
|
|
52
|
+
* @param prevFramePtr `usize`
|
|
53
|
+
* @param currentFramePtr `usize`
|
|
33
54
|
* @param width `i32`
|
|
34
55
|
* @param height `i32`
|
|
35
56
|
* @param threshold `i32`
|
|
57
|
+
* @param motionMaskPtr `usize`
|
|
36
58
|
*/
|
|
37
|
-
export function
|
|
59
|
+
export function detectMotionSIMD(prevFramePtr: number, currentFramePtr: number, width: number, height: number, threshold: number, motionMaskPtr: number): void;
|
|
38
60
|
/**
|
|
39
|
-
* assembly/
|
|
40
|
-
* @param
|
|
41
|
-
* @param
|
|
61
|
+
* assembly/test/dilateMotionMask
|
|
62
|
+
* @param motionMaskPtr `usize`
|
|
63
|
+
* @param tempMaskPtr `usize`
|
|
42
64
|
* @param width `i32`
|
|
43
65
|
* @param height `i32`
|
|
44
|
-
* @param
|
|
66
|
+
* @param dilationSize `i32`
|
|
45
67
|
*/
|
|
46
|
-
export function
|
|
68
|
+
export function dilateMotionMask(motionMaskPtr: number, tempMaskPtr: number, width: number, height: number, dilationSize: number): void;
|
|
47
69
|
/**
|
|
48
|
-
* assembly/
|
|
49
|
-
* @param
|
|
70
|
+
* assembly/test/calculateBoundingBoxes
|
|
71
|
+
* @param motionMaskPtr `usize`
|
|
50
72
|
* @param visitedPtr `usize`
|
|
51
|
-
* @param queuePtr `usize`
|
|
52
|
-
* @param boxesPtr `usize`
|
|
53
73
|
* @param width `i32`
|
|
54
74
|
* @param height `i32`
|
|
55
|
-
* @param
|
|
75
|
+
* @param motionArea `i32`
|
|
76
|
+
* @param boundingBoxesPtr `usize`
|
|
77
|
+
* @param stackXPtr `usize`
|
|
78
|
+
* @param stackYPtr `usize`
|
|
56
79
|
* @returns `i32`
|
|
57
80
|
*/
|
|
58
|
-
export function
|
|
81
|
+
export function calculateBoundingBoxes(motionMaskPtr: number, visitedPtr: number, width: number, height: number, motionArea: number, boundingBoxesPtr: number, stackXPtr: number, stackYPtr: number): number;
|
|
59
82
|
/**
|
|
60
|
-
* assembly/
|
|
83
|
+
* assembly/test/calculateBoundingBoxesSIMD
|
|
84
|
+
* @param motionMaskPtr `usize`
|
|
85
|
+
* @param visitedPtr `usize`
|
|
86
|
+
* @param width `i32`
|
|
87
|
+
* @param height `i32`
|
|
88
|
+
* @param motionArea `i32`
|
|
89
|
+
* @param boundingBoxesPtr `usize`
|
|
90
|
+
* @param stackXPtr `usize`
|
|
91
|
+
* @param stackYPtr `usize`
|
|
92
|
+
* @returns `i32`
|
|
93
|
+
*/
|
|
94
|
+
export function calculateBoundingBoxesSIMD(motionMaskPtr: number, visitedPtr: number, width: number, height: number, motionArea: number, boundingBoxesPtr: number, stackXPtr: number, stackYPtr: number): number;
|
|
95
|
+
/**
|
|
96
|
+
* assembly/test2/detectMotion
|
|
97
|
+
* @param prevFramePtr `usize`
|
|
98
|
+
* @param curFramePtr `usize`
|
|
99
|
+
* @param blurFrame1Ptr `usize`
|
|
100
|
+
* @param blurFrame2Ptr `usize`
|
|
101
|
+
* @param motionMaskPtr `usize`
|
|
102
|
+
* @param dilateMaskPtr `usize`
|
|
103
|
+
* @param boundingBoxesPtr `usize`
|
|
104
|
+
* @param width `i32`
|
|
105
|
+
* @param height `i32`
|
|
106
|
+
* @param blurRadius `i32`
|
|
107
|
+
* @param threshold `i32`
|
|
108
|
+
* @param dilationSize `i32`
|
|
109
|
+
* @param motionArea `i32`
|
|
110
|
+
* @returns `i32`
|
|
111
|
+
*/
|
|
112
|
+
export function detectMotion(prevFramePtr: number, curFramePtr: number, blurFrame1Ptr: number, blurFrame2Ptr: number, motionMaskPtr: number, dilateMaskPtr: number, boundingBoxesPtr: number, width: number, height: number, blurRadius: number, threshold: number, dilationSize: number, motionArea: number): number;
|
|
113
|
+
/**
|
|
114
|
+
* assembly/test3/blurFrame
|
|
115
|
+
* @param framePtr `usize`
|
|
116
|
+
* @param blurPtr `usize`
|
|
117
|
+
* @param width `i32`
|
|
118
|
+
* @param height `i32`
|
|
119
|
+
* @param radius `i32`
|
|
120
|
+
*/
|
|
121
|
+
export function blurFrame(framePtr: number, blurPtr: number, width: number, height: number, radius: number): void;
|
|
122
|
+
/**
|
|
123
|
+
* assembly/test3/detectMotion
|
|
61
124
|
* @param frame1Ptr `usize`
|
|
62
125
|
* @param frame2Ptr `usize`
|
|
63
|
-
* @param
|
|
126
|
+
* @param blurredFrame1Ptr `usize`
|
|
127
|
+
* @param blurredFrame2Ptr `usize`
|
|
128
|
+
* @param maskPtr `usize`
|
|
129
|
+
* @param dilatePtr `usize`
|
|
64
130
|
* @param visitedPtr `usize`
|
|
65
131
|
* @param queuePtr `usize`
|
|
66
132
|
* @param boxesPtr `usize`
|
|
@@ -72,17 +138,7 @@ declare namespace __AdaptedExports {
|
|
|
72
138
|
* @param motionArea `i32`
|
|
73
139
|
* @returns `i32`
|
|
74
140
|
*/
|
|
75
|
-
export function detectMotion(frame1Ptr: number, frame2Ptr: number,
|
|
76
|
-
/** assembly/index/Uint8Array_ID */
|
|
77
|
-
export const Uint8Array_ID: {
|
|
78
|
-
/** @type `u32` */
|
|
79
|
-
get value(): number
|
|
80
|
-
};
|
|
81
|
-
/** assembly/index/Int32Array_ID */
|
|
82
|
-
export const Int32Array_ID: {
|
|
83
|
-
/** @type `u32` */
|
|
84
|
-
get value(): number
|
|
85
|
-
};
|
|
141
|
+
export function detectMotion(frame1Ptr: number, frame2Ptr: number, blurredFrame1Ptr: number, blurredFrame2Ptr: number, maskPtr: number, dilatePtr: number, visitedPtr: number, queuePtr: number, boxesPtr: number, width: number, height: number, blurRadius: number, dilationSize: number, motionThreshold: number, motionArea: number): number;
|
|
86
142
|
}
|
|
87
143
|
/** Instantiates the compiled WebAssembly module with the given imports. */
|
|
88
144
|
export declare function instantiate(module: WebAssembly.Module, imports: {
|
|
@@ -30,6 +30,11 @@ export async function instantiate(module, imports = {}) {
|
|
|
30
30
|
s = __lowerString(s) || __notnull();
|
|
31
31
|
exports.log(s);
|
|
32
32
|
},
|
|
33
|
+
detectMotion(inputFrame, threshold, radius, dilationSize, minArea) {
|
|
34
|
+
// assembly/index/detectMotion(~lib/typedarray/Uint8Array, i32, i32, i32, i32) => ~lib/typedarray/Int32Array
|
|
35
|
+
inputFrame = __lowerTypedArray(Uint8Array, 4, 0, inputFrame) || __notnull();
|
|
36
|
+
return __liftTypedArray(Int32Array, exports.detectMotion(inputFrame, threshold, radius, dilationSize, minArea) >>> 0);
|
|
37
|
+
},
|
|
33
38
|
Uint8Array_ID: {
|
|
34
39
|
// assembly/index/Uint8Array_ID: u32
|
|
35
40
|
valueOf() { return this.value; },
|
|
@@ -37,13 +42,6 @@ export async function instantiate(module, imports = {}) {
|
|
|
37
42
|
return exports.Uint8Array_ID.value >>> 0;
|
|
38
43
|
}
|
|
39
44
|
},
|
|
40
|
-
Int32Array_ID: {
|
|
41
|
-
// assembly/index/Int32Array_ID: u32
|
|
42
|
-
valueOf() { return this.value; },
|
|
43
|
-
get value() {
|
|
44
|
-
return exports.Int32Array_ID.value >>> 0;
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
45
|
}, exports);
|
|
48
46
|
function __liftString(pointer) {
|
|
49
47
|
if (!pointer) return null;
|
|
@@ -65,8 +63,46 @@ export async function instantiate(module, imports = {}) {
|
|
|
65
63
|
for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i);
|
|
66
64
|
return pointer;
|
|
67
65
|
}
|
|
66
|
+
function __liftTypedArray(constructor, pointer) {
|
|
67
|
+
if (!pointer) return null;
|
|
68
|
+
return new constructor(
|
|
69
|
+
memory.buffer,
|
|
70
|
+
__getU32(pointer + 4),
|
|
71
|
+
__dataview.getUint32(pointer + 8, true) / constructor.BYTES_PER_ELEMENT
|
|
72
|
+
).slice();
|
|
73
|
+
}
|
|
74
|
+
function __lowerTypedArray(constructor, id, align, values) {
|
|
75
|
+
if (values == null) return 0;
|
|
76
|
+
const
|
|
77
|
+
length = values.length,
|
|
78
|
+
buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0,
|
|
79
|
+
header = exports.__new(12, id) >>> 0;
|
|
80
|
+
__setU32(header + 0, buffer);
|
|
81
|
+
__dataview.setUint32(header + 4, buffer, true);
|
|
82
|
+
__dataview.setUint32(header + 8, length << align, true);
|
|
83
|
+
new constructor(memory.buffer, buffer, length).set(values);
|
|
84
|
+
exports.__unpin(buffer);
|
|
85
|
+
return header;
|
|
86
|
+
}
|
|
68
87
|
function __notnull() {
|
|
69
88
|
throw TypeError("value must not be null");
|
|
70
89
|
}
|
|
90
|
+
let __dataview = new DataView(memory.buffer);
|
|
91
|
+
function __setU32(pointer, value) {
|
|
92
|
+
try {
|
|
93
|
+
__dataview.setUint32(pointer, value, true);
|
|
94
|
+
} catch {
|
|
95
|
+
__dataview = new DataView(memory.buffer);
|
|
96
|
+
__dataview.setUint32(pointer, value, true);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function __getU32(pointer) {
|
|
100
|
+
try {
|
|
101
|
+
return __dataview.getUint32(pointer, true);
|
|
102
|
+
} catch {
|
|
103
|
+
__dataview = new DataView(memory.buffer);
|
|
104
|
+
return __dataview.getUint32(pointer, true);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
71
107
|
return adaptedExports;
|
|
72
108
|
}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "WASM Motion",
|
|
3
3
|
"name": "@camera.ui/camera-ui-wasm-motion",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.12",
|
|
5
5
|
"description": "camera.ui wasm motion detection plugin",
|
|
6
6
|
"author": "seydx (https://github.com/seydx/camera.ui)",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
"prepublishOnly": "npm i --package-lock-only && npm run lint && npm run format && npm run build"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@camera.ui/types": "^0.0.
|
|
19
|
+
"@camera.ui/types": "^0.0.76",
|
|
20
20
|
"@rushstack/eslint-patch": "^1.10.4",
|
|
21
21
|
"@types/fs-extra": "^11.0.4",
|
|
22
|
-
"@types/node": "^22.5
|
|
22
|
+
"@types/node": "^22.7.5",
|
|
23
23
|
"@types/ws": "^8.5.12",
|
|
24
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
25
|
-
"@typescript-eslint/parser": "^8.
|
|
26
|
-
"assemblyscript": "^0.27.
|
|
24
|
+
"@typescript-eslint/eslint-plugin": "^8.8.1",
|
|
25
|
+
"@typescript-eslint/parser": "^8.8.1",
|
|
26
|
+
"assemblyscript": "^0.27.30",
|
|
27
27
|
"assemblyscript-prettier": "^3.0.1",
|
|
28
|
-
"concurrently": "^9.0.
|
|
28
|
+
"concurrently": "^9.0.1",
|
|
29
29
|
"copyfiles": "^2.4.1",
|
|
30
30
|
"eslint": "8.57.0",
|
|
31
31
|
"eslint-config-prettier": "^9.1.0",
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
"rimraf": "^6.0.1",
|
|
36
36
|
"set-interval-async": "^3.0.3",
|
|
37
37
|
"sharp": "^0.33.5",
|
|
38
|
-
"typescript": "^5.6.
|
|
38
|
+
"typescript": "^5.6.3",
|
|
39
39
|
"updates": "^16.4.0"
|
|
40
40
|
},
|
|
41
41
|
"bugs": {
|
|
42
42
|
"url": "https://github.com/seydx/camera.ui/issues"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
|
-
"camera.ui": ">=0.0.
|
|
45
|
+
"camera.ui": ">=0.0.34-alpha.1",
|
|
46
46
|
"node": ">=20.17.0"
|
|
47
47
|
},
|
|
48
48
|
"homepage": "https://github.com/seydx/camera.ui#readme",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"dependencies": []
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@assemblyscript/loader": "^0.27.
|
|
65
|
+
"@assemblyscript/loader": "^0.27.30",
|
|
66
66
|
"as-wasi": "^0.6.0"
|
|
67
67
|
}
|
|
68
68
|
}
|