image-js
Version:
Image processing and manipulation in JavaScript
84 lines • 2.78 kB
TypeScript
import { Image } from '../../Image.js';
import type { Point } from '../../geometry/index.js';
import type { FastKeypoint } from '../keypoints/getFastKeypoints.js';
import type { Match } from '../matching/bruteForceMatch.js';
import type { DrawKeypointsOptions } from './drawKeypoints.js';
import type { DrawMatchesOptions } from './drawMatches.js';
export declare const MontageDisposition: {
readonly HORIZONTAL: "horizontal";
readonly VERTICAL: "vertical";
};
export type MontageDisposition = (typeof MontageDisposition)[keyof typeof MontageDisposition];
export interface MontageOptions {
/**
* Factor by which to scale the images.
* @default `1`
*/
scale?: number;
/**
* How should the images be aligned: vertically or horizontally.
* @default `'horizontal'`
*/
disposition?: MontageDisposition;
}
export declare class Montage {
/**
* Scaled width of the first image.
*/
readonly sourceWidth: number;
/**
* Scaled height of the first image.
*/
readonly sourceHeight: number;
/**
* Scaled width of the second image.
*/
readonly destinationWidth: number;
/**
* Scaled height of the second image.
*/
readonly destinationHeight: number;
/**
* Origin of the destination / second image relative to top-left corner of the Montage.
*/
readonly destinationOrigin: Point;
/**
* Width of the Montage.
*/
readonly width: number;
/**
* Height of the Montage.
*/
readonly height: number;
/**
* Factor by which to scale the images are scaled in the montage.
*/
readonly scale: number;
readonly disposition: MontageDisposition;
/**
* Image of the Montage.
*/
image: Image;
/**
* Create a Montage of two images. The two images are placed side by side for comparison.
* @param source - First image.
* @param destination - Second image.
* @param options - Montage options.
*/
constructor(source: Image, destination: Image, options?: MontageOptions);
/**
* Draw keypoints on the Montage.
* @param keypoints - Keypoints to draw.
* @param options - Draw keypoints options.
*/
drawKeypoints(keypoints: FastKeypoint[], options?: DrawKeypointsOptions): void;
/**
* Draw the matches between source and destination keypoints.
* @param matches - Matches to draw.
* @param sourceKeypoints - Source keypoints.
* @param destinationKeypoints - Destination keypoints.
* @param options - Draw matches options.
*/
drawMatches(matches: Match[], sourceKeypoints: FastKeypoint[], destinationKeypoints: FastKeypoint[], options?: DrawMatchesOptions): void;
}
//# sourceMappingURL=Montage.d.ts.map