forked from echamudi/opencv-wasm
-
Notifications
You must be signed in to change notification settings - Fork 3
/
dilation.ts
31 lines (27 loc) · 1.04 KB
/
dilation.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { cv, cvTranslateError } from '../../mod.ts';
import { assertStrictEquals, assertEquals } from "https://deno.land/std@0.83.0/testing/asserts.ts";
// Jimp doesn't support the Deno runtime atm https://github.com/oliver-moran/jimp/issues/942
// so we use Deno's JPEG
import JPEG from "https://deno.land/x/jpeg/mod.ts";
(async () => {
const raw = await Deno.readFile('../input/image-sample-1.jpg');
const result = JPEG.decode(raw);
console.log(result);
let image_data = {
width: result.width,
height: result.height,
data: result.data
};
var src = await cv.matFromImageData(image_data);
let dst = new cv.Mat();
let M = cv.Mat.ones(5, 5, cv.CV_8U);
let anchor = new cv.Point(-1, -1);
cv.dilate(src, dst, M, anchor, 1, cv.BORDER_CONSTANT, cv.morphologyDefaultBorderValue());
let image = {
width: dst.cols,
height: dst.rows,
data: dst.data
};
let jpegData = JPEG.encode(image, 100);
await Deno.writeFile('../test-output/dilation.jpg', jpegData.data);
})();