我试图从一张图片中去除背景(如墙壁)的白色/灰色像素,以便只留下前景(例如我的手)。
我尝试操作画布像素,但由于阴影或其他背景不一致性,前景提取效果并不理想。我甚至尝试了绿色背景,但它并没有提高性能。
我尝试操作画布像素,但由于阴影或其他背景不一致性,前景提取效果并不理想。我甚至尝试了绿色背景,但它并没有提高性能。
for (i = 0; i < imgData.width * imgData.height * 4; i += 4) {
var r = imgDataNormal.data[i + 0];
var g = imgDataNormal.data[i + 1];
var b = imgDataNormal.data[i + 2];
var a = imgDataNormal.data[i + 3];
// compare rgb levels for green and set alphachannel to 0;
selectedR = *a value 0 - 255*
selectedG = *a value 0 - 255*
selectedB = *a value 0 - 255*
if (r <= selectedR || g >= selectedG || b <= selectedB) {
a = 0;
}
}
有没有一种高级的方法或库可以使图像背景透明?