几种常见的去除白色背景的方式详解
创作时间:
作者:
@小白创作中心
几种常见的去除白色背景的方式详解
引用
CSDN
1.
https://blog.csdn.net/cuijiying/article/details/146188640
在图片处理中,去除白色背景是一个常见的需求。无论是设计师、摄影师还是普通用户,都可能遇到需要将图片背景变为透明的情况。本文将介绍几种常见的去除白色背景的方法,包括在线工具、专业软件以及编程方式,帮助你根据自身需求选择最适合的方案。
1. 使用在线工具(例如 remove.bg)
这是最简单、最快速的方法,尤其适合对图像要求不是特别严格的场合。
- 打开网站remove.bg。
- 上传需要去除背景的图片。
- 网站会自动识别并去除背景,完成后可直接下载无背景的PNG格式图像。
优点:
- 操作简单,无需安装软件。
- AI自动识别,速度快。
缺点:
- 对于带有细节的图片,可能会出现抠图不够准确的情况。
- 免费版对图像尺寸、次数等有所限制。
2. 使用Photoshop去除背景
方法A:Magic Wand Tool(魔棒工具)+ 删除背景
- 打开图片:在Photoshop中打开这张印章图片。
- 选择魔棒工具 (Magic Wand Tool):在左侧工具栏中,找到“魔棒工具”。
- 设置容差 (Tolerance):在上方的属性栏中设置合适的“容差”值(如 20-30)。容差越大,选区会包含更多相似的颜色;容差越小,选区更严格。
- 点击白色背景:用魔棒工具点击图像中白色区域,Photoshop 会自动生成一个选区,选中的就是白色背景部分。
- 检查选区:如果魔棒选中范围不完整,可以按住 Shift 键并继续点击其它未选中的白色部分,或调节容差重新选取。
- 删除背景:按下键盘上的 Delete 键,白色背景就会被删除,呈现透明背景(一般是灰白相间格子)。
- 导出图片:选择菜单栏“文件 (File)”→“导出 (Export)”→“导出为 (Export As)”,选择 PNG 格式(保留透明背景),即可得到无背景的印章图。
方法B:Select > Color Range(颜色范围)+ 删除背景
- 打开图片:在Photoshop中打开这张印章图片。
- 选择“选择 (Select)”→“色彩范围 (Color Range)”:会弹出一个对话框。
- 吸管工具选择白色:使用吸管工具点击图像中的白色背景部分,调节“容差 (Fuzziness)”数值以控制选区的范围。可以在预览窗口中观察哪些区域被选中。
- 点击确定:完成后,图像中会出现选区闪烁线。
- 删除背景:按下 Delete 键,白色背景就会被删除。
- 导出图片:同样,选择 PNG 格式导出无背景图像。
优点:
- 能够细致地控制背景去除的效果,适合有较高精度需求的场合。
缺点:
- 需要安装Photoshop且对软件有一定熟悉度。
3. 使用免费开源软件 GIMP
GIMP 是一款开源的图像编辑软件,与 Photoshop 类似但免费。操作思路也相近,这里简要说明操作步骤:
- 安装并打开 GIMP。
- 打开图片: File -> Open ,选择要去除背景的印章图片。
- 使用 Fuzzy Select Tool(类似魔棒工具):
- 在左侧工具栏中找到 “Fuzzy Select Tool”。
- 在工具选项中设置阈值(Threshold),尝试 20-30 之间,然后点击图片中的白色背景区域。
- 删除选区:按下 Delete 键,白色背景会被移除。
- 导出为 PNG: File -> Export As ,选择 PNG 格式并确保“保存颜色通道 (Save color values from transparent pixels)”等设置正确,即可导出无背景图像。
优点:
- 免费、跨平台(Windows、macOS、Linux都可用)。
- 对抠图操作比较灵活,效果较好。
缺点:
- 与 Photoshop 相比,界面可能不够直观,需要稍加适应。
4. 使用编程方式(Python + PIL/OpenCV示例)
如果你需要在编程场景中自动化处理类似图片的背景去除,可以使用 Python 的图像处理库来完成。下面以 OpenCV 为例做一个简易演示:
示例:OpenCV + NumPy
import cv2
import numpy as np
# 1. 读取图像
img = cv2.imread('stamp.jpg')
# 2. 将图像转换为HSV或者RGB,便于分割
# (此处如果背景是纯白,可以直接对RGB的值进行阈值判断)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 3. 设置白色范围(阈值可根据实际情况调整)
lower_white = np.array([0, 0, 200]) # 近似白色下限
upper_white = np.array([180, 25, 255]) # 近似白色上限
# 4. 根据阈值生成掩模
mask = cv2.inRange(hsv, lower_white, upper_white)
# 5. 将掩模反转(背景为白色,所以掩模区域是背景部分)
mask_inv = cv2.bitwise_not(mask)
# 6. 保留原图中的印章部分
res = cv2.bitwise_and(img, img, mask=mask_inv)
# 7. 将黑色部分(原先的背景)改为透明
# 先转换为 BGRA 格式
res_bgra = cv2.cvtColor(res, cv2.COLOR_BGR2BGRA)
# 将mask_inv为0的部分设置为透明
res_bgra[:, :, 3] = mask_inv
# 8. 保存结果(PNG格式可保留透明通道)
cv2.imwrite('stamp_no_bg.png', res_bgra)
- lower_white/upper_white用于设定“白色”的范围,不同图片的白色亮度可能略有不同,需要多次尝试。
- 生成的 stamp_no_bg.png 就是一张带透明通道的 PNG 图片,白色背景已经被抠掉。
优点:
- 可批量自动处理大量图片,适合开发工作流中集成。
- 灵活可控,可结合其他图像处理技术进行后续操作。
缺点:
- 对初学者而言,需要掌握一定的编程与图像处理知识。
- 参数调整需要多次尝试才能得到理想效果。
总结
- 如果只需要快速去除背景,在线工具(如 remove.bg)最为便捷。
- 如果对抠图质量有较高要求,或需要进一步修饰,建议使用 Photoshop 或 GIMP。
- 如果需要批量自动化处理,Python 等编程方式是更好的选择。
希望以上方法能够帮助你成功去除图片白色背景,获得一张透明背景的图像。根据你的需求与使用场景,选择合适的方式即可。
热门推荐
崩坏三水晶获取方式汇总以及获取量一览
机动车过户手续办理指南
期货交易策略的制定依据是什么?这些依据在实际操作中如何运用?
深圳未成年人身份证到期更换流程
专家推荐:5种按摩方法缓解神经性头痛
如何让孩子快速进入学习状态:10个实用策略
颈椎病导致无名指疼痛的原因是什么
什么木头的菜板最好
科技与责任,能共存于一个超级英雄身上,关键在于个人的选择
功率因数的定义与重要性:为什么电力系统要提高功率因数?
HTML标签工作原理详解:从基础到进阶
警惕!自动扶梯会“咬人”,这些危险动作千万注意
湿热灭菌法:科学消毒!
长宁区中小学开学科技感拉满,数字化点亮活力教育
这个摧毁夫妻关系的“隐形杀手”,很多人无意识在做!
如何向警方说明正当防卫情况
8核与12核处理器的性能差异究竟有多大?
出租房屋管理全攻略:从处罚规定到纠纷处理
时间真的存在吗?是否只是人类创造出来的虚幻概念?
威灵仙可以泡酒吗?医生专业解答使用方法与注意事项
山水画大师陆俨少440幅山水画欣赏
DDR5最大内存容量解析:目前可达512GB
发电机选购指南:从使用场景到功率计算的全面解析
深度解密红茶:品种、制作与泡法全指南
铜物至精 观照古今
孩子没有责任心家长应该怎么做
如何为保健医疗设备设计选择合适的电池
14种提高记忆力的自然方法
如何选择安全可靠的锁具?这类锁具应具备哪些特性?
新生儿吐奶的原因及应对措施解析,助力家长轻松应对挑战