ojos
Version:
High level API on top of Mirada (opencv.js) supporting bth browser and node.
45 lines (44 loc) • 1.36 kB
TypeScript
import * as mirada from 'mirada';
import { FS, Mat } from 'mirada';
import { RemoveProperties, UnionToIntersection } from 'misc-utils-of-mine-generic';
import { OperationNames, OperationOptions } from '../op/metadata';
export interface RunOptions<T extends ScriptOperation<OperationNames>[] = ScriptOperation<OperationNames>[]> {
ops: T | string;
language?: ScriptLanguage;
src?: ScriptMat | ScriptMat[];
}
interface ScriptMat {
name: string;
mat: Mat;
}
export declare type ScriptOperation<N extends OperationNames = OperationNames> = Partial<RemoveProperties<OperationOptions[N], 'src' | 'dst'>> & {
name: N;
src: string;
dst: string;
};
export interface ScriptContext {
images: ScriptMat[];
options: RunOptions;
vars: {
[s: string]: any;
};
}
export declare type ScriptLanguage = 'json' | 'statements';
export interface ParseOptions {
script: string;
language?: ScriptLanguage;
}
export interface TemplateContext extends ScriptContext {
cv: typeof cv;
mirada: typeof mirada;
FS: FS;
}
export declare type AllOptionNames = keyof UnionToIntersection<OperationOptions[keyof OperationOptions]>;
export declare type ParsedResult = RemoveProperties<Partial<{
[s in AllOptionNames]: any;
}>, 'src' | 'dst'> & {
name: OperationNames;
src: string;
dst: string;
};
export {};