用 U2Net 去除背景太强了

Posted

技术标签:

【中文标题】用 U2Net 去除背景太强了【英文标题】:Background removal with U2Net is too strong 【发布时间】:2021-11-09 19:37:31 【问题描述】:

我成功地使用U2Net 使用终端删除图像的背景,我还使用this repo 的漂亮界面以更简单的方式执行相同的操作并验证结果的相似性。但是,我的问题是背景去除对于这样的图像来说太强了:

我得到以下结果(即包装也被删除):

如果我在Foco clipping website 中上传图片并选择Type=='Graphic',我会得到完全相同的结果。这意味着该网站正在使用相同的算法来删除图形类型图像的背景。不过,如果我选择Type=='Product',那么结果如下,这正是我想要的:

有没有人知道如何做才能获得相同的结果?

【问题讨论】:

【参考方案1】:
    你应该先锐化图像(使用强锐化)

from PIL import Image
from PIL import ImageFilter
from PIL.ImageFilter import (UnsharpMask)
simg = Image.open('data/srcimg07.jpg')
dimg = simg.filter(UnsharpMask(radius=4.5, percent=200, threshold=0))
dimg.save("result/ImageFilter_UnsharpMask_2_150_3.jpg")
    使用 U2Net 去除锐化图像的背景

    将步骤 (2) 的结果用作掩码

    使用步骤 (3) 中的蒙版从原始图片中提取想要的结果

注意:这是一个非常简单的示例,您可以进一步完善它

【讨论】:

嗨@Jabbar,感谢您的回答。强削是什么意思?我已经从 PIL 尝试了 enhancer.enhance(200) 并且仍然相同 你好@azal,你提高了锐度还是别的什么?检查锐度等级hhsprings.bitbucket.io/docs/programming/examples/python/PIL/…另外,如果你使用UnsharpMask,我更喜欢hhsprings.bitbucket.io/docs/programming/examples/python/PIL/… 能否请您发布您的锐化代码,以便重现您的解决方案并接受您的答案? @azal 我用过 photopea.com Unsharp Mask,但你可以使用 PIL,我已经在答案中添加了代码 再次感谢。你能看看这里吗?也许你也可以回答这个问题,我会再次接受你的回答。 ***.com/questions/69236396/…

以上是关于用 U2Net 去除背景太强了的主要内容,如果未能解决你的问题,请参考以下文章

css 图片自身的背景色如何去除

将OpenCV提取的轮廓用在另一张图中去除背景

从PS中创建PDF时,用Ghostscript去除白色背景。

去除微信二维码白色背景

在winform c#中去除捕捉图像背景中的黑暗

用dom1来实现,根据光标移动自动给表单加上背景色,光标移开自动去除背景色