现在手上有几千张这样纯色背景的图片,红白黄蓝都有,像下面两张图这样,有没有什么开源的脚本或者软件,能自动检测识别这种背景,然后移除生成透明背景 PNG 图片?
![]() | 1 wdy3334 2018-09-27 08:34:50 +08:00 via Android ![]() |
![]() | 2 mrchi 2018-09-27 08:35:09 +08:00 ![]() 提供个思路。先生成彩色直方图,背景色应该就是彩色直方图中值最多的颜色。以此为基础把该颜色的像素点进行处理。但是看你的图片不完全是纯色背景,还有阴影,可能会更复杂一些。 |
![]() | 3 delectate 2018-09-27 08:41:43 +08:00 太难了,你这个不叫纯色,抠图很麻烦的。 |
4 alvin666 2018-09-27 08:43:56 +08:00 via Android 有阴影用 ps 都费劲... |
![]() | 5 yulitian888 2018-09-27 08:44:16 +08:00 |
![]() | 6 scg16 2018-09-27 08:59:44 +08:00 20 一张 |
![]() | 7 Muchisan 2018-09-27 09:01:04 +08:00 纯色的背景应该比较好弄,但很多背景都只是肉眼纯色。容差设为多少也是个问题,还有怎么判断哪里是背景,哪里是需要保留的图像,保留图像上有和背景色相同的区域怎么办。 |
8 dacer250 2018-09-27 09:01:36 +08:00 联系我,低价帮你处理,qq:OTgzMTM5MDk3 |
![]() | 9 dangyuluo 2018-09-27 09:10:44 +08:00 开源的不知道,但是用 opencv 的话思路还是很清晰的: 1, 计算 histogram,获取背景图片的 RGB 值。 2, 用 numpy 把与这个值接近的像素都设为透明。 3, 生成 PNG |
![]() | 10 dangyuluo 2018-09-27 09:11:40 +08:00 当然了,最好用 floodfill 做一下检测,如果区域面积太小的话,可能是误判为背景。这个就要做数学模型了。 |
11 annielong 2018-09-27 09:17:04 +08:00 最终可能还是人工制作 |
![]() | 12 Xiqiuqiu 2018-09-27 09:22:22 +08:00 |
![]() | 13 Xiqiuqiu 2018-09-27 09:30:35 +08:00 sorry !方向有点偏,这套东西主要做人像的背景扣除 ![]() ![]() |
14 kslr 2018-09-27 09:57:08 +08:00 via Android 另一个思路,计算 rgb 连续范围计算权重 |
![]() | 15 zzutmebwd 2018-09-27 10:00:22 +08:00 阴影没法处理的。 |
![]() | 16 blaxmirror 2018-09-27 10:04:38 +08:00 所有直接取色变透明的都会产生问题,因为没法判断背景还是主题,还要加上对于连续区域的判断(类似 ps 的魔棒),这又会涉及到参数。除此之外,阴影也有很大的影响。 我感觉除了深度学习,别的都逃不开大规模手动调整的坑 |
![]() | 17 moonkiller 2018-09-27 11:30:09 +08:00 Photoshop 的动作功能啊 |
![]() | 18 imn1 2018-09-27 13:05:40 +08:00 阴影都是过渡色 |
19 silence9527 2018-09-27 15:19:44 +08:00 阴影很麻烦- -。不如手动扣- - |
20 zynlp 2018-09-27 15:28:08 +08:00 via iPhone 重赏之下必有勇夫 |
![]() | 21 flowfire 2018-09-28 00:11:45 +08:00 via iPhone 。。。Photoshop,背景橡皮擦工具,把橡皮擦范围调到最大,点一下就没了,如果需要批量处理,用 Photoshop 里自带的动作录制功能,打开文件,使用背景橡皮擦,保存文件,关闭文件,一气呵成 |