diff --git a/web/src/lib/workers/removebg.ts b/web/src/lib/workers/removebg.ts index 0ab8d6ed..811e5f13 100644 --- a/web/src/lib/workers/removebg.ts +++ b/web/src/lib/workers/removebg.ts @@ -38,6 +38,9 @@ const removeImageBackground = async (file: File) => { const model_type = "light"; const model = await AutoModel.from_pretrained(models[model_type].id, { + progress_callback: (progress) => { + console.log(progress); + }, device: "wasm", dtype: "fp32", }); diff --git a/web/src/routes/cutout/+page.svelte b/web/src/routes/cutout/+page.svelte index eed2ef19..23ff14c3 100644 --- a/web/src/routes/cutout/+page.svelte +++ b/web/src/routes/cutout/+page.svelte @@ -19,13 +19,15 @@ let state: "empty" | "busy" | "done" = "empty"; - const worker = new RemoveBgWorker(); + let worker: Worker; const processImage = async () => { if (!file) return; state = "busy"; + worker = new RemoveBgWorker(); + worker.postMessage({ file }); worker.onmessage = async (event) => { const maskedCanvas = await maskImage(event.data.source, event.data.mask); @@ -39,6 +41,8 @@ result = maskedCanvas; imageContainer.append(maskedCanvas); + + worker.terminate(); }; worker.onerror = (e) => { @@ -73,12 +77,21 @@ acceptTypes={["image/*"]} acceptExtensions={["jpg", "png", "webp"]} /> + {#if file} +
+ {/if}