|
@@ -39,7 +39,7 @@ import { SpeedyKeypoint, SpeedyMatchedKeypoint } from 'speedy-vision/types/core/
|
39
|
39
|
import { ImageTracker, ImageTrackerOutput, ImageTrackerStateName } from '../image-tracker';
|
40
|
40
|
import { ImageTrackerUtils, ImageTrackerKeypointPair } from '../image-tracker-utils';
|
41
|
41
|
import { ImageTrackerState, ImageTrackerStateOutput } from './state';
|
42
|
|
-import { ReferenceImage } from '../reference-image';
|
|
42
|
+import { ReferenceImageWithMedia } from '../reference-image';
|
43
|
43
|
import { Nullable, Utils } from '../../../utils/utils';
|
44
|
44
|
import { TrackingError } from '../../../utils/errors';
|
45
|
45
|
import {
|
|
@@ -64,7 +64,7 @@ import {
|
64
|
64
|
export class ImageTrackerPreTrackingBState extends ImageTrackerState
|
65
|
65
|
{
|
66
|
66
|
/** reference image */
|
67
|
|
- private _referenceImage: Nullable<ReferenceImage>;
|
|
67
|
+ private _referenceImage: Nullable<ReferenceImageWithMedia>;
|
68
|
68
|
|
69
|
69
|
/** a snapshot of the video from the scanning state and corresponding to the initial homography */
|
70
|
70
|
private _snapshot: Nullable<SpeedyPipelineNodeImagePortalSink>;
|
|
@@ -101,7 +101,7 @@ export class ImageTrackerPreTrackingBState extends ImageTrackerState
|
101
|
101
|
onEnterState(settings: Record<string,any>)
|
102
|
102
|
{
|
103
|
103
|
const homography = settings.homography as SpeedyMatrix;
|
104
|
|
- const referenceImage = settings.referenceImage as ReferenceImage;
|
|
104
|
+ const referenceImage = settings.referenceImage as ReferenceImageWithMedia;
|
105
|
105
|
const snapshot = settings.snapshot as SpeedyPipelineNodeImagePortalSink;
|
106
|
106
|
const referenceKeypointPortalSink = settings.referenceKeypointPortalSink as SpeedyPipelineNodeKeypointPortalSink;
|
107
|
107
|
|
|
@@ -143,7 +143,7 @@ export class ImageTrackerPreTrackingBState extends ImageTrackerState
|
143
|
143
|
|
144
|
144
|
// rectify the image
|
145
|
145
|
const scale = TRACK_RECTIFIED_SCALE;
|
146
|
|
- const aspectRatio = ImageTrackerUtils.bestFitAspectRatioNDC(this._imageTracker, this._referenceImage!);
|
|
146
|
+ const aspectRatio = ImageTrackerUtils.bestFitAspectRatioNDC(screenSize, this._referenceImage!);
|
147
|
147
|
const shrink = ImageTrackerUtils.bestFitScaleNDC(aspectRatio, scale);
|
148
|
148
|
const undistort = this._homography.inverse();
|
149
|
149
|
const toScreen = ImageTrackerUtils.NDCToRaster(screenSize);
|
|
@@ -233,7 +233,7 @@ export class ImageTrackerPreTrackingBState extends ImageTrackerState
|
233
|
233
|
}).then(([ warp, score ]) => {
|
234
|
234
|
|
235
|
235
|
const scale = TRACK_RECTIFIED_SCALE;
|
236
|
|
- const aspectRatio = ImageTrackerUtils.bestFitAspectRatioNDC(this._imageTracker, this._referenceImage!);
|
|
236
|
+ const aspectRatio = ImageTrackerUtils.bestFitAspectRatioNDC(this.screenSize, this._referenceImage!);
|
237
|
237
|
const shrink = ImageTrackerUtils.bestFitScaleNDC(aspectRatio, scale);
|
238
|
238
|
const grow = ImageTrackerUtils.inverseBestFitScaleNDC(aspectRatio, scale);
|
239
|
239
|
const scaledWarp = grow.times(warp).times(shrink);
|