几种常见的去除白色背景的方式详解
创作时间:
作者:
@小白创作中心
几种常见的去除白色背景的方式详解
引用
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 等编程方式是更好的选择。
希望以上方法能够帮助你成功去除图片白色背景,获得一张透明背景的图像。根据你的需求与使用场景,选择合适的方式即可。
热门推荐
拼多多4300万漏洞事件,揭秘羊毛党黑色产业链
工地安全基础,安全工具、安全装备和个人防护装备品牌
安全防护用品有哪几种 安全防护用品清单明细表
正确使用碘伏,科学护理宝宝伤口
正确使用碘伏:家庭伤口处理必备指南
探索西方文明的三大柱石
四大文明古国的地理环境:孕育人类文明的摇篮
英国教授:四大文明古国中,印度和埃及都还在,为何只承认中国?
拉尼娜“返场”不等于冷冬,国家气候中心:今冬或现极端天气
西洋参:免疫力提升的天然良方
西洋参:心血管健康的天然守护者
青少年情绪管理指南:从认知到调节的实用方法
中考高考季:如何管理你的考试压力
青春期情绪管理,家长必看!
青春期情绪管理:从理解到应对
蔡灿煌:用焰火点亮中国重大赛事,将东方美学绽放夜空
蔡国强泉州上演《红帆》烟花秀,AI技术助力传统文化创新表达
揭秘高中毕业证编号:每个数字都有其意义
学信网可查假毕业证,使用或涉违法将受罚
健康科普——关于疟原虫检测,你需要了解这些
安定区妇幼保健院体检科新开展项目:13C尿素呼气试验
13碳尿素呼气试验是什么
三九天防流感,专家教你这样做
三九天食疗秘籍:这样养生最健康
压力焦虑竟是便秘元凶?从脑肠轴解析情绪与肠道的双向影响
瑜伽达人教你告别便秘烦恼
临床营养专家:豆制品不会诱发痛风,反而是保护性膳食因素
喝豆浆会导致尿酸高吗
秋冬自制红薯干:五步打造软糯香甜的健康零食
鸡脚:营养美味兼具,美容效果待考