当前位置: 首页 > article >正文

几种常见的去除白色背景的方式详解

下面提供几种常见的去除白色背景的方式,你可以根据自身情况选择最适合的方案。
在这里插入图片描述在这里插入图片描述


1. 使用在线工具(例如 remove.bg)

这是最简单、最快速的方法,尤其适合对图像要求不是特别严格的场合。

  1. 打开网站 remove.bg。
  2. 上传需要去除背景的图片。
  3. 网站会自动识别并去除背景,完成后可直接下载无背景的PNG格式图像。

优点

  • 操作简单,无需安装软件。
  • AI自动识别,速度快。

缺点

  • 对于带有细节的图片,可能会出现抠图不够准确的情况。
  • 免费版对图像尺寸、次数等有所限制。

2. 使用Photoshop去除背景

方法A:Magic Wand Tool(魔棒工具)+ 删除背景

  1. 打开图片:在Photoshop中打开这张印章图片。
  2. 选择魔棒工具 (Magic Wand Tool):在左侧工具栏中,找到“魔棒工具”。
  3. 设置容差 (Tolerance):在上方的属性栏中设置合适的“容差”值(如 20-30)。容差越大,选区会包含更多相似的颜色;容差越小,选区更严格。
  4. 点击白色背景:用魔棒工具点击图像中白色区域,Photoshop 会自动生成一个选区,选中的就是白色背景部分。
  5. 检查选区:如果魔棒选中范围不完整,可以按住 Shift 键并继续点击其它未选中的白色部分,或调节容差重新选取。
  6. 删除背景:按下键盘上的 Delete 键,白色背景就会被删除,呈现透明背景(一般是灰白相间格子)。
  7. 导出图片:选择菜单栏“文件 (File)”→“导出 (Export)”→“导出为 (Export As)”,选择 PNG 格式(保留透明背景),即可得到无背景的印章图。

方法B:Select > Color Range(颜色范围)+ 删除背景

  1. 打开图片:在Photoshop中打开这张印章图片。
  2. 选择“选择 (Select)”→“色彩范围 (Color Range)”:会弹出一个对话框。
  3. 吸管工具选择白色:使用吸管工具点击图像中的白色背景部分,调节“容差 (Fuzziness)”数值以控制选区的范围。可以在预览窗口中观察哪些区域被选中。
  4. 点击确定:完成后,图像中会出现选区闪烁线。
  5. 删除背景:按下 Delete 键,白色背景就会被删除。
  6. 导出图片:同样,选择 PNG 格式导出无背景图像。

优点

  • 能够细致地控制背景去除的效果,适合有较高精度需求的场合。

缺点

  • 需要安装Photoshop且对软件有一定熟悉度。

3. 使用免费开源软件 GIMP

GIMP 是一款开源的图像编辑软件,与 Photoshop 类似但免费。操作思路也相近,这里简要说明操作步骤:

  1. 安装并打开 GIMP
  2. 打开图片File -> Open,选择要去除背景的印章图片。
  3. 使用 Fuzzy Select Tool(类似魔棒工具)
    • 在左侧工具栏中找到 “Fuzzy Select Tool”。
    • 在工具选项中设置阈值(Threshold),尝试 20-30 之间,然后点击图片中的白色背景区域。
  4. 删除选区:按下 Delete 键,白色背景会被移除。
  5. 导出为 PNGFile -> 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 等编程方式是更好的选择。

希望以上方法能够帮助你成功去除图片白色背景,获得一张透明背景的图像。根据你的需求与使用场景,选择合适的方式即可。


http://www.kler.cn/a/581301.html

相关文章:

  • golang recover错误
  • OpenGL ES ->帧缓冲对象(Frame Buffer Object)离屏渲染获取纹理贴图
  • 【6】字典树学习笔记
  • ClusterIP、Headless Service 和 NodePort 的比较
  • 如何提取神经网络中间层特征向量
  • 责任链模式的C++实现示例
  • 软考高级信息系统项目管理师笔记-第19章配置与变更管理
  • 接口自动化入门 —— swagger/word/excelpdf等不同种类的接口文档理解!
  • Ollama杂记
  • 【CXX】6.4 CxxString — std::string
  • LeetCode100之二叉树的直径(543)--Java
  • 牵引线标注:让地图信息更清晰的ArcGIS Pro技巧
  • 制作自定义镜像
  • docker-compose Install m3e(fastgpt扩展) GPU模式
  • 跨公网 NAT 配置方案:实现高效网络通信与安全访问
  • 关于在vue3中使用keep-live+component标签组合,实现对指定某些组件进行缓存或不缓存的问题
  • 【软考-架构】2.3、设备管理-文件管理
  • flinkOracleCdc任务报错kafkaConnectSchema
  • 基于 Simulink 的超级储能参与电网一次调频仿真研究
  • 怎么删除百度搜索下拉框里的搜索引导词