有没有什么软件脚本能自动检测并移除纯色背景?

2018-09-27 08:19:48 +08:00
 alwayshere

现在手上有几千张这样纯色背景的图片,红白黄蓝都有,像下面两张图这样,有没有什么开源的脚本或者软件,能自动检测识别这种背景,然后移除生成透明背景 PNG 图片?

3931 次点击
所在节点    程序员
21 条回复
wdy3334
2018-09-27 08:34:50 +08:00
mrchi
2018-09-27 08:35:09 +08:00
提供个思路。先生成彩色直方图,背景色应该就是彩色直方图中值最多的颜色。以此为基础把该颜色的像素点进行处理。但是看你的图片不完全是纯色背景,还有阴影,可能会更复杂一些。
delectate
2018-09-27 08:41:43 +08:00
太难了,你这个不叫纯色,抠图很麻烦的。
alvin666
2018-09-27 08:43:56 +08:00
有阴影用 ps 都费劲...
yulitian888
2018-09-27 08:44:16 +08:00
scg16
2018-09-27 08:59:44 +08:00
20 一张
Muchisan
2018-09-27 09:01:04 +08:00
纯色的背景应该比较好弄,但很多背景都只是肉眼纯色。容差设为多少也是个问题,还有怎么判断哪里是背景,哪里是需要保留的图像,保留图像上有和背景色相同的区域怎么办。
dacer250
2018-09-27 09:01:36 +08:00
联系我,低价帮你处理,qq:OTgzMTM5MDk3
dangyuluo
2018-09-27 09:10:44 +08:00
开源的不知道,但是用 opencv 的话思路还是很清晰的:

1, 计算 histogram,获取背景图片的 RGB 值。
2, 用 numpy 把与这个值接近的像素都设为透明。
3, 生成 PNG
dangyuluo
2018-09-27 09:11:40 +08:00
当然了,最好用 floodfill 做一下检测,如果区域面积太小的话,可能是误判为背景。这个就要做数学模型了。
annielong
2018-09-27 09:17:04 +08:00
最终可能还是人工制作
Xiqiuqiu
2018-09-27 09:22:22 +08:00
Xiqiuqiu
2018-09-27 09:30:35 +08:00
sorry !方向有点偏,这套东西主要做人像的背景扣除
kslr
2018-09-27 09:57:08 +08:00
另一个思路,计算 rgb 连续范围计算权重
zzutmebwd
2018-09-27 10:00:22 +08:00
阴影没法处理的。
blaxmirror
2018-09-27 10:04:38 +08:00
所有直接取色变透明的都会产生问题,因为没法判断背景还是主题,还要加上对于连续区域的判断(类似 ps 的魔棒),这又会涉及到参数。除此之外,阴影也有很大的影响。
我感觉除了深度学习,别的都逃不开大规模手动调整的坑
moonkiller
2018-09-27 11:30:09 +08:00
Photoshop 的动作功能啊
imn1
2018-09-27 13:05:40 +08:00
阴影都是过渡色
silence9527
2018-09-27 15:19:44 +08:00
阴影很麻烦- -。不如手动扣- -
zynlp
2018-09-27 15:28:08 +08:00
重赏之下必有勇夫

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/492990

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX