diff --git a/public/test.jpg b/public/test.jpg index e983e5f..014c9e0 100644 Binary files a/public/test.jpg and b/public/test.jpg differ diff --git a/public/test1.jpg b/public/test1.jpg deleted file mode 100644 index 014c9e0..0000000 Binary files a/public/test1.jpg and /dev/null differ diff --git a/public/test2.jpg b/public/test2.jpg new file mode 100644 index 0000000..e983e5f Binary files /dev/null and b/public/test2.jpg differ diff --git a/public/test4.jpg b/public/test4.jpg new file mode 100644 index 0000000..8b19b86 Binary files /dev/null and b/public/test4.jpg differ diff --git a/src/lib/ImageShow.svelte b/src/lib/ImageShow.svelte index fe0add4..0282402 100644 --- a/src/lib/ImageShow.svelte +++ b/src/lib/ImageShow.svelte @@ -21,7 +21,6 @@ let canvas_height = 0; let mask_tag = false; - let crop_rect = {}; function LabelItem(label, items) { this.label = label; @@ -61,7 +60,14 @@ show_image(); }, ], - ["文本加强", "mdi mdi-image-filter-center-focus-strong"], + [ + "文本加强", + "mdi mdi-image-filter-center-focus-strong", + () => { + image_process.text_strong = true; + show_image(); + }, + ], [ "裁剪", "mdi mdi-crop", @@ -81,7 +87,13 @@ ], ]), new LabelItem("文件操作", [ - ["保存到本地", "mdi mdi-content-save-outline"], + [ + "保存到本地", + "mdi mdi-content-save-outline", + () => { + console.log(window.jimp); + }, + ], ["打印图片", "mdi mdi-printer-outline"], ]), ]; @@ -130,6 +142,16 @@ dst = image_for_show.clone(); } + if (image_process.text_strong) { + let cop = new cv.Mat(); + let kc = cv.Mat.ones(20, 20, cv.CV_8U); + cv.morphologyEx(image_for_show, cop, cv.MORPH_CLOSE, kc); + + cv.absdiff(image_for_show, cop, image_for_show); + cv.bitwise_not(image_for_show, image_for_show); + dst = image_for_show; + } + let scale = Math.min(canvas_height / dst.rows, canvas_width / dst.cols); let dsize = new cv.Size(scale * dst.cols, scale * dst.rows); cv.resize(dst, dst, dsize, 0, 0, cv.INTER_AREA); @@ -147,6 +169,7 @@ img.onload = function () { setTimeout(() => { image = cv.imread(img); + cv.cvtColor(image, image, cv.COLOR_RGBA2RGB, 0); let pre_scale = Math.min( canvas_height / image.rows, canvas_width / image.cols @@ -156,7 +179,6 @@ pre_scale * image.rows ); cv.resize(image, image_for_show, pre_dsize, 0, 0, cv.INTER_AREA); - show_image(); }, 50); }; diff --git a/src/lib/Mask.svelte b/src/lib/Mask.svelte index 6913978..1f576b0 100644 --- a/src/lib/Mask.svelte +++ b/src/lib/Mask.svelte @@ -463,7 +463,7 @@