@thi.ng/pixel-convolve
Version:
Extensible bitmap image convolution, kernel presets, normal map & image pyramid generation
15 lines (14 loc) • 437 B
JavaScript
import { assert } from "@thi.ng/errors/assert";
import { convolveImage, LANCZOS } from "./convolve.js";
function* imagePyramid(src, kernel = LANCZOS(2), minSize = 1, includeOrig = true) {
assert(minSize > 0, `invalid min size`);
minSize <<= 1;
if (includeOrig) yield src;
while (src.width >= minSize && src.height >= minSize) {
src = convolveImage(src, { kernel, stride: 2 });
yield src;
}
}
export {
imagePyramid
};