From 5d15f76f46119a7feaf8c04e69429dad6ee2bcc8 Mon Sep 17 00:00:00 2001 From: Radionic Date: Fri, 24 Nov 2023 13:10:16 +0800 Subject: [PATCH] fix: autoseg --- js/LayerEditor.js | 13 +++++++++---- js/index.js | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/js/LayerEditor.js b/js/LayerEditor.js index 4a8b676..6080fa6 100644 --- a/js/LayerEditor.js +++ b/js/LayerEditor.js @@ -325,10 +325,15 @@ export async function uploadSegments() { const segments = {}; for (const [layer, prompts] of Object.entries(imagePromptsMulti.val)) { - await drawSegment(getClicks(prompts)); + await drawSegment(getClicks(prompts), layer, false); const canvas = document.getElementById("mask-canvas"); const base64Image = canvas.toDataURL(); segments[layer] = base64Image; + // download image + // const a = document.createElement("a"); + // a.href = base64Image; + // a.download = layer + ".png"; + // a.click(); } await api.fetchApi("/segments", { method: "POST", @@ -395,7 +400,7 @@ export function getClicks(prompts) { })); } -export async function drawSegment(clicks) { +export async function drawSegment(clicks, layer, withBox = true) { const canvas = document.getElementById("mask-canvas"); const ctx = canvas.getContext("2d"); if (clicks.length === 0) { @@ -403,12 +408,12 @@ export async function drawSegment(clicks) { return; } if (embeddings.val) { - const box = boxesMulti.val[selectedLayer.val]; + const box = boxesMulti.val[layer || selectedLayer.val]; const mask = await runONNX(clicks, embeddings.val, box); if (mask) { ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.drawImage(mask, 0, 0); - if (box) { + if (box && withBox) { ctx.strokeStyle = "green"; ctx.lineWidth = 5; ctx.strokeRect(box.x1, box.y1, box.x2 - box.x1, box.y2 - box.y1); diff --git a/js/index.js b/js/index.js index 1d7ef47..ce6e85c 100644 --- a/js/index.js +++ b/js/index.js @@ -321,7 +321,7 @@ function showMyImageEditor(node) { isGeneratedImage, embedding_id: id, ckpt, - remote: true, + // remote: true, }), }) .then(() => {