@srsergio/taptapp-ar 1.0.9 → 1.0.10
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/compiler/controller.d.ts +15 -22
- package/dist/compiler/controller.js +73 -92
- package/dist/compiler/detector/crop-detector.d.ts +20 -51
- package/dist/compiler/detector/crop-detector.js +21 -15
- package/dist/compiler/input-loader.d.ts +15 -17
- package/dist/compiler/input-loader.js +58 -76
- package/dist/compiler/matching/hamming-distance.js +4 -4
- package/dist/compiler/matching/matcher.js +2 -2
- package/dist/compiler/matching/matching.d.ts +2 -16
- package/dist/compiler/matching/matching.js +72 -60
- package/dist/compiler/offline-compiler.d.ts +9 -29
- package/dist/compiler/offline-compiler.js +38 -72
- package/dist/compiler/three.js +0 -4
- package/dist/compiler/tracker/tracker.d.ts +26 -12
- package/dist/compiler/tracker/tracker.js +158 -259
- package/package.json +1 -1
- package/src/compiler/controller.js +71 -93
- package/src/compiler/detector/crop-detector.js +26 -15
- package/src/compiler/input-loader.js +62 -88
- package/src/compiler/matching/hamming-distance.js +4 -4
- package/src/compiler/matching/hough.js +1 -1
- package/src/compiler/matching/matcher.js +2 -2
- package/src/compiler/matching/matching.js +80 -72
- package/src/compiler/offline-compiler.js +38 -75
- package/src/compiler/three.js +0 -4
- package/src/compiler/tracker/tracker.js +183 -283
- package/dist/compiler/compiler-base.d.ts +0 -8
- package/dist/compiler/compiler-base.js +0 -179
- package/dist/compiler/compiler.d.ts +0 -9
- package/dist/compiler/compiler.js +0 -24
- package/dist/compiler/compiler.worker.d.ts +0 -1
- package/dist/compiler/compiler.worker.js +0 -28
- package/dist/compiler/detector/detector.d.ts +0 -97
- package/dist/compiler/detector/detector.js +0 -1042
- package/dist/compiler/detector/kernels/cpu/binomialFilter.d.ts +0 -6
- package/dist/compiler/detector/kernels/cpu/binomialFilter.js +0 -50
- package/dist/compiler/detector/kernels/cpu/buildExtremas.d.ts +0 -6
- package/dist/compiler/detector/kernels/cpu/buildExtremas.js +0 -89
- package/dist/compiler/detector/kernels/cpu/computeExtremaAngles.d.ts +0 -7
- package/dist/compiler/detector/kernels/cpu/computeExtremaAngles.js +0 -79
- package/dist/compiler/detector/kernels/cpu/computeExtremaFreak.d.ts +0 -6
- package/dist/compiler/detector/kernels/cpu/computeExtremaFreak.js +0 -68
- package/dist/compiler/detector/kernels/cpu/computeFreakDescriptors.d.ts +0 -6
- package/dist/compiler/detector/kernels/cpu/computeFreakDescriptors.js +0 -57
- package/dist/compiler/detector/kernels/cpu/computeLocalization.d.ts +0 -6
- package/dist/compiler/detector/kernels/cpu/computeLocalization.js +0 -50
- package/dist/compiler/detector/kernels/cpu/computeOrientationHistograms.d.ts +0 -6
- package/dist/compiler/detector/kernels/cpu/computeOrientationHistograms.js +0 -100
- package/dist/compiler/detector/kernels/cpu/downsampleBilinear.d.ts +0 -6
- package/dist/compiler/detector/kernels/cpu/downsampleBilinear.js +0 -29
- package/dist/compiler/detector/kernels/cpu/extremaReduction.d.ts +0 -6
- package/dist/compiler/detector/kernels/cpu/extremaReduction.js +0 -50
- package/dist/compiler/detector/kernels/cpu/fakeShader.d.ts +0 -20
- package/dist/compiler/detector/kernels/cpu/fakeShader.js +0 -80
- package/dist/compiler/detector/kernels/cpu/index.d.ts +0 -1
- package/dist/compiler/detector/kernels/cpu/index.js +0 -25
- package/dist/compiler/detector/kernels/cpu/prune.d.ts +0 -7
- package/dist/compiler/detector/kernels/cpu/prune.js +0 -62
- package/dist/compiler/detector/kernels/cpu/smoothHistograms.d.ts +0 -6
- package/dist/compiler/detector/kernels/cpu/smoothHistograms.js +0 -47
- package/dist/compiler/detector/kernels/cpu/upsampleBilinear.d.ts +0 -6
- package/dist/compiler/detector/kernels/cpu/upsampleBilinear.js +0 -43
- package/dist/compiler/detector/kernels/index.d.ts +0 -1
- package/dist/compiler/detector/kernels/index.js +0 -2
- package/dist/compiler/detector/kernels/webgl/binomialFilter.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/binomialFilter.js +0 -67
- package/dist/compiler/detector/kernels/webgl/buildExtremas.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/buildExtremas.js +0 -101
- package/dist/compiler/detector/kernels/webgl/computeExtremaAngles.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/computeExtremaAngles.js +0 -78
- package/dist/compiler/detector/kernels/webgl/computeExtremaFreak.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/computeExtremaFreak.js +0 -86
- package/dist/compiler/detector/kernels/webgl/computeFreakDescriptors.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/computeFreakDescriptors.js +0 -52
- package/dist/compiler/detector/kernels/webgl/computeLocalization.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/computeLocalization.js +0 -58
- package/dist/compiler/detector/kernels/webgl/computeOrientationHistograms.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/computeOrientationHistograms.js +0 -116
- package/dist/compiler/detector/kernels/webgl/downsampleBilinear.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/downsampleBilinear.js +0 -46
- package/dist/compiler/detector/kernels/webgl/extremaReduction.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/extremaReduction.js +0 -48
- package/dist/compiler/detector/kernels/webgl/index.d.ts +0 -1
- package/dist/compiler/detector/kernels/webgl/index.js +0 -25
- package/dist/compiler/detector/kernels/webgl/smoothHistograms.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/smoothHistograms.js +0 -49
- package/dist/compiler/detector/kernels/webgl/upsampleBilinear.d.ts +0 -6
- package/dist/compiler/detector/kernels/webgl/upsampleBilinear.js +0 -56
- package/dist/compiler/tensorflow-setup.d.ts +0 -6
- package/dist/compiler/tensorflow-setup.js +0 -99
- package/src/compiler/compiler-base.js +0 -210
- package/src/compiler/compiler.js +0 -25
- package/src/compiler/compiler.worker.js +0 -30
- package/src/compiler/detector/detector.js +0 -1119
- package/src/compiler/detector/kernels/cpu/binomialFilter.js +0 -58
- package/src/compiler/detector/kernels/cpu/buildExtremas.js +0 -108
- package/src/compiler/detector/kernels/cpu/computeExtremaAngles.js +0 -91
- package/src/compiler/detector/kernels/cpu/computeExtremaFreak.js +0 -92
- package/src/compiler/detector/kernels/cpu/computeFreakDescriptors.js +0 -68
- package/src/compiler/detector/kernels/cpu/computeLocalization.js +0 -67
- package/src/compiler/detector/kernels/cpu/computeOrientationHistograms.js +0 -124
- package/src/compiler/detector/kernels/cpu/downsampleBilinear.js +0 -33
- package/src/compiler/detector/kernels/cpu/extremaReduction.js +0 -53
- package/src/compiler/detector/kernels/cpu/fakeShader.js +0 -88
- package/src/compiler/detector/kernels/cpu/index.js +0 -26
- package/src/compiler/detector/kernels/cpu/prune.js +0 -78
- package/src/compiler/detector/kernels/cpu/smoothHistograms.js +0 -57
- package/src/compiler/detector/kernels/cpu/upsampleBilinear.js +0 -51
- package/src/compiler/detector/kernels/index.js +0 -2
- package/src/compiler/detector/kernels/webgl/binomialFilter.js +0 -72
- package/src/compiler/detector/kernels/webgl/buildExtremas.js +0 -109
- package/src/compiler/detector/kernels/webgl/computeExtremaAngles.js +0 -82
- package/src/compiler/detector/kernels/webgl/computeExtremaFreak.js +0 -105
- package/src/compiler/detector/kernels/webgl/computeFreakDescriptors.js +0 -56
- package/src/compiler/detector/kernels/webgl/computeLocalization.js +0 -70
- package/src/compiler/detector/kernels/webgl/computeOrientationHistograms.js +0 -129
- package/src/compiler/detector/kernels/webgl/downsampleBilinear.js +0 -50
- package/src/compiler/detector/kernels/webgl/extremaReduction.js +0 -50
- package/src/compiler/detector/kernels/webgl/index.js +0 -26
- package/src/compiler/detector/kernels/webgl/smoothHistograms.js +0 -53
- package/src/compiler/detector/kernels/webgl/upsampleBilinear.js +0 -62
- package/src/compiler/tensorflow-setup.js +0 -116
|
@@ -96,69 +96,38 @@ export class OfflineCompiler {
|
|
|
96
96
|
}
|
|
97
97
|
targetImages.push({
|
|
98
98
|
data: greyImageData,
|
|
99
|
-
height: img.height,
|
|
100
99
|
width: img.width,
|
|
100
|
+
height: img.height,
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
|
-
//
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
progressCallback(percent * 0.5);
|
|
103
|
+
// Compilar Match y Track por separado
|
|
104
|
+
const matchingDataList = await this._compileMatch(targetImages, (p) => {
|
|
105
|
+
progressCallback(p * 0.7); // 70% Match
|
|
107
106
|
});
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
console.time("⏱️ Fase Tracking");
|
|
111
|
-
const trackingDataList = await this._compileTrack(targetImages, (percent) => {
|
|
112
|
-
progressCallback(50 + percent * 0.5);
|
|
107
|
+
const trackingDataList = await this._compileTrack(targetImages, (p) => {
|
|
108
|
+
progressCallback(70 + p * 0.3); // 30% Track
|
|
113
109
|
});
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
this.data = targetImages.map((targetImage, i) => ({
|
|
117
|
-
targetImage: { width: targetImage.width, height: targetImage.height },
|
|
118
|
-
trackingData: trackingDataList[i],
|
|
110
|
+
this.data = targetImages.map((img, i) => ({
|
|
111
|
+
targetImage: img,
|
|
119
112
|
matchingData: matchingDataList[i],
|
|
113
|
+
trackingData: trackingDataList[i],
|
|
120
114
|
}));
|
|
121
115
|
console.timeEnd("⏱️ Compilación total");
|
|
122
116
|
return this.data;
|
|
123
117
|
}
|
|
124
|
-
/**
|
|
125
|
-
* Compila datos de matching usando DetectorLite (JS puro)
|
|
126
|
-
*/
|
|
127
118
|
async _compileMatch(targetImages, progressCallback) {
|
|
128
119
|
const percentPerImage = 100 / targetImages.length;
|
|
129
120
|
let currentPercent = 0;
|
|
130
121
|
// Use workers if available
|
|
131
122
|
if (this.workerPool) {
|
|
132
|
-
const promises = targetImages.map((targetImage, index) => {
|
|
133
|
-
return this.workerPool.runTask({
|
|
134
|
-
type: 'match',
|
|
135
|
-
targetImage,
|
|
136
|
-
percentPerImage,
|
|
137
|
-
basePercent: index * percentPerImage,
|
|
138
|
-
onProgress: (percent) => {
|
|
139
|
-
// Basic aggregation: this assumes naive progress updates.
|
|
140
|
-
// Ideally we should track exact progress per image.
|
|
141
|
-
// For now, simpler to just let the main thread loop handle overall progress callback?
|
|
142
|
-
// No, workers are async. We need to aggregate.
|
|
143
|
-
// Actually, the main loop below is serial.
|
|
144
|
-
// If we use workers, we run them in parallel.
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
// Progress handling for parallel workers is tricky without a shared state manager.
|
|
149
|
-
// Simplified approach: each worker reports its absolute progress contribution?
|
|
150
|
-
// No, worker reports 'percent' which is base + local.
|
|
151
|
-
// We can use a shared loadedPercent variable.
|
|
152
|
-
let totalPercent = 0;
|
|
153
123
|
const progressMap = new Float32Array(targetImages.length);
|
|
154
124
|
const wrappedPromises = targetImages.map((targetImage, index) => {
|
|
155
125
|
return this.workerPool.runTask({
|
|
156
126
|
type: 'match',
|
|
157
127
|
targetImage,
|
|
158
|
-
percentPerImage,
|
|
159
|
-
basePercent: 0,
|
|
128
|
+
percentPerImage,
|
|
129
|
+
basePercent: 0,
|
|
160
130
|
onProgress: (p) => {
|
|
161
|
-
// This 'p' from worker is "base + local". If we passed base=0, it's just local (0 to percentPerImage)
|
|
162
131
|
progressMap[index] = p;
|
|
163
132
|
const sum = progressMap.reduce((a, b) => a + b, 0);
|
|
164
133
|
progressCallback(sum);
|
|
@@ -197,9 +166,6 @@ export class OfflineCompiler {
|
|
|
197
166
|
}
|
|
198
167
|
return results;
|
|
199
168
|
}
|
|
200
|
-
/**
|
|
201
|
-
* Compila datos de tracking usando extractTrackingFeatures (JS puro)
|
|
202
|
-
*/
|
|
203
169
|
async _compileTrack(targetImages, progressCallback) {
|
|
204
170
|
const percentPerImage = 100 / targetImages.length;
|
|
205
171
|
let currentPercent = 0;
|
|
@@ -234,38 +200,22 @@ export class OfflineCompiler {
|
|
|
234
200
|
}
|
|
235
201
|
return results;
|
|
236
202
|
}
|
|
237
|
-
/**
|
|
238
|
-
* Método público para compilar tracking (compatibilidad con API anterior)
|
|
239
|
-
* @param {Object} options - Opciones de compilación
|
|
240
|
-
* @param {Function} options.progressCallback - Callback de progreso
|
|
241
|
-
* @param {Array} options.targetImages - Lista de imágenes objetivo
|
|
242
|
-
* @param {number} options.basePercent - Porcentaje base
|
|
243
|
-
* @returns {Promise<Array>} Datos de tracking
|
|
244
|
-
*/
|
|
245
203
|
async compileTrack({ progressCallback, targetImages, basePercent = 0 }) {
|
|
246
204
|
return this._compileTrack(targetImages, (percent) => {
|
|
247
205
|
progressCallback(basePercent + percent * (100 - basePercent) / 100);
|
|
248
206
|
});
|
|
249
207
|
}
|
|
250
|
-
/**
|
|
251
|
-
* Método público para compilar matching (compatibilidad con API anterior)
|
|
252
|
-
*/
|
|
253
208
|
async compileMatch({ progressCallback, targetImages, basePercent = 0 }) {
|
|
254
209
|
return this._compileMatch(targetImages, (percent) => {
|
|
255
210
|
progressCallback(basePercent + percent * (50 - basePercent) / 100);
|
|
256
211
|
});
|
|
257
212
|
}
|
|
258
|
-
/**
|
|
259
|
-
* Exporta datos compilados en formato binario columnar optimizado
|
|
260
|
-
*/
|
|
261
213
|
exportData() {
|
|
262
214
|
if (!this.data) {
|
|
263
215
|
throw new Error("No hay datos compilados para exportar");
|
|
264
216
|
}
|
|
265
217
|
const dataList = this.data.map((item) => {
|
|
266
|
-
// Optimizamos MatchingData convirtiéndolo a formato columnar
|
|
267
218
|
const matchingData = item.matchingData.map((kf) => this._packKeyframe(kf));
|
|
268
|
-
// Optimizamos TrackingData (Zero-copy layout)
|
|
269
219
|
const trackingData = item.trackingData.map((td) => {
|
|
270
220
|
const count = td.points.length;
|
|
271
221
|
const px = new Float32Array(count);
|
|
@@ -295,8 +245,7 @@ export class OfflineCompiler {
|
|
|
295
245
|
return msgpack.encode({
|
|
296
246
|
v: CURRENT_VERSION,
|
|
297
247
|
dataList,
|
|
298
|
-
|
|
299
|
-
}); // eslint-disable-line
|
|
248
|
+
});
|
|
300
249
|
}
|
|
301
250
|
_packKeyframe(kf) {
|
|
302
251
|
return {
|
|
@@ -312,17 +261,20 @@ export class OfflineCompiler {
|
|
|
312
261
|
const x = new Float32Array(count);
|
|
313
262
|
const y = new Float32Array(count);
|
|
314
263
|
const angle = new Float32Array(count);
|
|
264
|
+
const scale = new Float32Array(count);
|
|
315
265
|
const descriptors = new Uint8Array(count * 84); // 84 bytes per point (FREAK)
|
|
316
266
|
for (let i = 0; i < count; i++) {
|
|
317
267
|
x[i] = points[i].x;
|
|
318
268
|
y[i] = points[i].y;
|
|
319
269
|
angle[i] = points[i].angle;
|
|
270
|
+
scale[i] = points[i].scale;
|
|
320
271
|
descriptors.set(points[i].descriptors, i * 84);
|
|
321
272
|
}
|
|
322
273
|
return {
|
|
323
274
|
x,
|
|
324
275
|
y,
|
|
325
276
|
a: angle,
|
|
277
|
+
s: scale,
|
|
326
278
|
d: descriptors,
|
|
327
279
|
t: this._compactTree(tree.rootNode),
|
|
328
280
|
};
|
|
@@ -333,18 +285,34 @@ export class OfflineCompiler {
|
|
|
333
285
|
}
|
|
334
286
|
return [0, node.centerPointIndex || 0, node.children.map((c) => this._compactTree(c))];
|
|
335
287
|
}
|
|
336
|
-
/**
|
|
337
|
-
* Importa datos - Mantiene el formato columnar para máximo rendimiento (Zero-copy)
|
|
338
|
-
*/
|
|
339
288
|
importData(buffer) {
|
|
340
289
|
const content = msgpack.decode(new Uint8Array(buffer));
|
|
341
290
|
if (!content.v || content.v !== CURRENT_VERSION) {
|
|
342
291
|
console.error("Incompatible .mind version. Required: " + CURRENT_VERSION);
|
|
343
292
|
return [];
|
|
344
293
|
}
|
|
345
|
-
//
|
|
346
|
-
|
|
347
|
-
|
|
294
|
+
// Restore Float32Arrays from Uint8Arrays returned by msgpack
|
|
295
|
+
const dataList = content.dataList;
|
|
296
|
+
for (let i = 0; i < dataList.length; i++) {
|
|
297
|
+
const item = dataList[i];
|
|
298
|
+
for (const kf of item.matchingData) {
|
|
299
|
+
for (const col of [kf.max, kf.min]) {
|
|
300
|
+
if (col.x instanceof Uint8Array) {
|
|
301
|
+
col.x = new Float32Array(col.x.buffer.slice(col.x.byteOffset, col.x.byteOffset + col.x.byteLength));
|
|
302
|
+
}
|
|
303
|
+
if (col.y instanceof Uint8Array) {
|
|
304
|
+
col.y = new Float32Array(col.y.buffer.slice(col.y.byteOffset, col.y.byteOffset + col.y.byteLength));
|
|
305
|
+
}
|
|
306
|
+
if (col.a instanceof Uint8Array) {
|
|
307
|
+
col.a = new Float32Array(col.a.buffer.slice(col.a.byteOffset, col.a.byteOffset + col.a.byteLength));
|
|
308
|
+
}
|
|
309
|
+
if (col.s instanceof Uint8Array) {
|
|
310
|
+
col.s = new Float32Array(col.s.buffer.slice(col.s.byteOffset, col.s.byteOffset + col.s.byteLength));
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
this.data = dataList;
|
|
348
316
|
return this.data;
|
|
349
317
|
}
|
|
350
318
|
_unpackKeyframe(kf) {
|
|
@@ -366,6 +334,7 @@ export class OfflineCompiler {
|
|
|
366
334
|
x: col.x[i],
|
|
367
335
|
y: col.y[i],
|
|
368
336
|
angle: col.a[i],
|
|
337
|
+
scale: col.s ? col.s[i] : 1.0,
|
|
369
338
|
descriptors: col.d.slice(i * 84, (i + 1) * 84),
|
|
370
339
|
});
|
|
371
340
|
}
|
|
@@ -386,9 +355,6 @@ export class OfflineCompiler {
|
|
|
386
355
|
children: node[2].map((c) => this._expandTree(c)),
|
|
387
356
|
};
|
|
388
357
|
}
|
|
389
|
-
/**
|
|
390
|
-
* Destruye el pool de workers
|
|
391
|
-
*/
|
|
392
358
|
async destroy() {
|
|
393
359
|
if (this.workerPool) {
|
|
394
360
|
await this.workerPool.destroy();
|
package/dist/compiler/three.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { Matrix4, Vector3, Quaternion, Scene, WebGLRenderer, PerspectiveCamera, Group, sRGBEncoding, } from "three";
|
|
2
|
-
import * as tf from "@tensorflow/tfjs";
|
|
3
|
-
//import { CSS3DRenderer } from '../libs/CSS3DRenderer.js';
|
|
4
2
|
import { CSS3DRenderer } from "three/addons/renderers/CSS3DRenderer.js";
|
|
5
3
|
import { Controller } from "./controller.js";
|
|
6
4
|
import { UI } from "../ui/ui.js";
|
|
@@ -304,5 +302,3 @@ if (!window.MINDAR.IMAGE) {
|
|
|
304
302
|
window.MINDAR.IMAGE = {};
|
|
305
303
|
}
|
|
306
304
|
window.MINDAR.IMAGE.MindARThree = MindARThree;
|
|
307
|
-
//window.MINDAR.IMAGE.THREE = THREE;
|
|
308
|
-
window.MINDAR.IMAGE.tf = tf;
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
export class Tracker {
|
|
2
|
-
constructor(markerDimensions: any, trackingDataList: any, projectionTransform: any, debugMode?: boolean);
|
|
2
|
+
constructor(markerDimensions: any, trackingDataList: any, projectionTransform: any, inputWidth: any, inputHeight: any, debugMode?: boolean);
|
|
3
3
|
markerDimensions: any;
|
|
4
4
|
trackingDataList: any;
|
|
5
5
|
projectionTransform: any;
|
|
6
|
+
inputWidth: any;
|
|
7
|
+
inputHeight: any;
|
|
6
8
|
debugMode: boolean;
|
|
7
9
|
trackingKeyframeList: any[];
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
prebuiltData: {
|
|
11
|
+
px: Float32Array<any>;
|
|
12
|
+
py: Float32Array<any>;
|
|
13
|
+
data: Uint8Array<any>;
|
|
14
|
+
width: any;
|
|
15
|
+
height: any;
|
|
16
|
+
scale: any;
|
|
17
|
+
projectedImage: Float32Array<ArrayBuffer>;
|
|
18
|
+
}[];
|
|
19
|
+
templateBuffer: Float32Array<ArrayBuffer>;
|
|
20
|
+
dummyRun(inputData: any): void;
|
|
21
|
+
track(inputData: any, lastModelViewTransform: any, targetIndex: any): {
|
|
14
22
|
worldCoords: {
|
|
15
23
|
x: number;
|
|
16
24
|
y: number;
|
|
@@ -22,9 +30,15 @@ export class Tracker {
|
|
|
22
30
|
}[];
|
|
23
31
|
debugExtra: {};
|
|
24
32
|
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Pure JS implementation of NCC matching
|
|
35
|
+
*/
|
|
36
|
+
_computeMatching(prebuilt: any, projectedImage: any): {
|
|
37
|
+
matchingPoints: number[][];
|
|
38
|
+
sim: Float32Array<any>;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Pure JS implementation of Bilinear Warping
|
|
42
|
+
*/
|
|
43
|
+
_computeProjection(M: any, inputData: any, prebuilt: any): void;
|
|
30
44
|
}
|