簡體   English   中英

用 Javascript 去除 HTML Canvas 上的彩色點

[英]Remove Colored dots on HTML Canvas with Javascript

我有一個 canvas 檢測圖像背景並刪除背景或更改其顏色,但是背景有時不一致並且異常非常小,它們如下圖所示,即生成的 canvas 為紫色點,如何我可以在不影響圖像的 rest 的情況下刪除它們嗎? 在此處輸入圖像描述

一旦點被移除,我就可以填充空白並使綠色“更厚”以覆蓋圖像中孔的 rest。 我也需要去掉所有的紫色和紫色周圍的綠色。

i = 0;
YNo = 1;
LineNo = 1;
for (i, n = pix.length; i < n; i += 4) 
{
  const r = pix[i],
  g = pix[i + 1],
  b = pix[i + 2];
  if (r > 240 && g < 40 && b > 240 )
  {
    pix[i] = 0;
    pix[i + 1] = 0;
    pix[i + 2] = 0;
    pix[i + 3] = 0;
    x = (i / 4) % imgWidth;
    y = YNo-1;

    ctx4.beginPath();
    ctx4.arc(x, y, 5, 0, 2 * Math.PI, false);
    ctx4.fillStyle = "#000000";
    ctx4.strokeStyle = "#000000";
    ctx4.fill();
    ctx4.stroke();
    ctx4.closePath();
  }
  if(LineNo % imgWidth == 0)
  {
    YNo++;
  }
  LineNo++;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM