2026-06-26 07:23:52 +00:00
|
|
|
|
import { type WrappedMat } from './opencvAdapter';
|
|
|
|
|
|
import type { SkImage } from '@shopify/react-native-skia';
|
|
|
|
|
|
export type FreqLayerImages = {
|
|
|
|
|
|
lowFreqImage: SkImage;
|
|
|
|
|
|
highFreqImage: SkImage;
|
|
|
|
|
|
};
|
|
|
|
|
|
export type PaintResourceBatch = {
|
|
|
|
|
|
originImage: SkImage;
|
|
|
|
|
|
layers: FreqLayerImages;
|
|
|
|
|
|
};
|
2026-07-02 02:07:32 +00:00
|
|
|
|
/** OpenCV 8-bit Lab L channel (BGR input, for single test and approximate comparison) */
|
2026-06-26 07:23:52 +00:00
|
|
|
|
export declare function bgrToLabL(b: number, g: number, r: number): number;
|
2026-07-02 02:07:32 +00:00
|
|
|
|
/** BGR → 8-bit Lab (L/a/b mapped to 0–255) */
|
2026-07-01 05:41:17 +00:00
|
|
|
|
export declare function bgrToLab(b: number, g: number, r: number): {
|
|
|
|
|
|
l: number;
|
|
|
|
|
|
a: number;
|
|
|
|
|
|
b: number;
|
|
|
|
|
|
};
|
2026-06-26 07:23:52 +00:00
|
|
|
|
export declare function bgrBufferToRgbaBuffer(bgr: Uint8Array, cols: number, rows: number): Uint8Array;
|
|
|
|
|
|
export declare function releaseFreqLayerImages(layers: FreqLayerImages | null): void;
|
2026-07-02 02:07:32 +00:00
|
|
|
|
/** reuse the uploaded BGR Mat, avoid duplicate bufferToMat + JS↔native roundtrip */
|
2026-06-26 07:23:52 +00:00
|
|
|
|
export declare function prepareFreqLayersFromWorkMat(workMat: WrappedMat, cols: number, rows: number): Promise<FreqLayerImages | null>;
|
2026-07-02 02:07:32 +00:00
|
|
|
|
/** single time Mat upload → high/low frequency + original Skia (parallel, callback when high/low frequency is ready) */
|
2026-06-26 07:23:52 +00:00
|
|
|
|
export declare function preparePaintResourcesFromWorkBuffer(bgrBuffer: Uint8Array, cols: number, rows: number, onFreqLayersReady?: (layers: FreqLayerImages) => void): Promise<PaintResourceBatch | null>;
|
2026-07-02 02:07:32 +00:00
|
|
|
|
/** @deprecated test compatibility; production path please use preparePaintResourcesFromWorkBuffer */
|
2026-06-26 07:23:52 +00:00
|
|
|
|
export declare function prepareFreqLayersFromBgrBuffer(bgrBuffer: Uint8Array, cols: number, rows: number): Promise<FreqLayerImages | null>;
|
2026-07-02 02:07:32 +00:00
|
|
|
|
/** original BGR → Skia RGBA (OpenCV cvtColor, parallel with freq) */
|
2026-06-26 07:23:52 +00:00
|
|
|
|
export declare function originBgrBufferToSkiaImage(bgrBuffer: Uint8Array, cols: number, rows: number): Promise<SkImage | null>;
|