PBM 背景移除器
拖放 或 点击选择
私密和安全
一切都在您的浏览器中进行。您的文件绝不接触我们的服务器。
极速
无需上传,无需等待。在您拖放文件的瞬间即可转换。
完全免费
无需帐户。无隐藏费用。无文件大小限制花招。
背景移除将主体与其周围环境分离开来,这样你就可以将其放置在 透明背景上、更换场景或将其合成为新设计。在底层,你正在估算一个 alpha 遮罩——一个从 0 到 1 的每像素不透明度——然后将前景alpha 合成到 其他东西上。这是 Porter–Duff 的数学原理,也是“边缘”和 直接 alpha 与预乘 alpha 等常见陷阱的起因。有关预乘和线性颜色的实用指南,请参阅 微软的 Win2D 笔记、 Søren Sandmann 和 Lomont 关于线性混合的文章。
人们移除背景的主要方式
1) 色度键(“绿/蓝屏”)
如果你能控制拍摄,将背景涂成纯色(通常是绿色),然后抠掉该色调。 这种方法速度快,在电影和广播中经过实战检验,非常适合视频。权衡之处在于灯光和服装: 彩色光会溢出到边缘(尤其是头发),所以你需要使用去溢工具来中和污染。 好的入门资料包括 Nuke 的文档、 Mixing Light 和一个实践性的 Fusion 演示。
2) 交互式分割(经典计算机视觉)
对于背景杂乱的单张图片,交互式算法需要用户提供一些提示——例如,一个宽松的 矩形或涂鸦——然后收敛到一个清晰的蒙版。经典方法是 GrabCut (书籍章节),它学习前景/背景的颜色模型,并迭代使用图割来分离它们。 你会在 GIMP 的前景选择中看到类似的想法,它基于 SIOX (ImageJ 插件)。
3) 图像抠图(细粒度 alpha)
抠图解决在纤细边界(头发、毛皮、烟雾、玻璃)处的部分透明度问题。经典的 闭式抠图 接受一个三元图(绝对前景/绝对背景/未知),并求解一个具有强边缘保真度的 alpha 线性系统。现代的 深度图像抠图 在 Adobe Composition-1K 数据集上训练神经网络(MMEditing 文档),并使用 SAD、MSE、梯度和连通性等指标进行评估(基准解释器)。
4) 深度学习抠图(无三元图)
- U2-Net(显著性物体检测)是一个强大的通用“移除背景”引擎 (代码库)。
- MODNet 针对实时人像抠图(PDF)。
- F, B, Alpha (FBA) 抠图 联合预测前景、背景和 alpha,以减少颜色光晕 (代码库)。
- 背景抠图 V2 假设有一个背景板,并以高达 4K/30fps 的速度实时产生发丝级抠图 (项目页面, 代码库)。
相关的分割工作也很有用: DeepLabv3+ 使用编码器-解码器和空洞卷积来细化边界 (PDF); Mask R-CNN 提供每个实例的蒙版 (PDF);以及 SAM (Segment Anything) 是一个 可提示的基础模型,可在不熟悉的图像上进行零样本蒙版生成。
流行工具的功能
- Photoshop: 移除背景 快速操作在底层运行“选择主体 → 图层蒙版” (此处确认; 教程)。
- GIMP: 前景选择 (SIOX)。
- Canva: 一键式 背景移除器,适用于图像和短视频。
- remove.bg: 用于自动化的 Web 应用程序 + API。
- Apple 设备: 照片/Safari/快速查看中的系统级“从照片背景中提取主体” (iOS 上的抠图)。
更清晰抠图的工作流程提示
- 智能拍摄。 良好的光线和强烈的主体-背景对比度对每种方法都有帮助。对于绿/蓝屏,请计划 去溢 (指南)。
- 从宽到窄。 运行自动选择(选择主体、 U2-Net、 SAM),然后用画笔或抠图(例如 闭式)细化边缘。
- 注意半透明。 玻璃、面纱、运动模糊、飞扬的头发需要真正的 alpha(不仅仅是硬蒙版)。同时恢复 F/B/α 的方法可以最大限度地减少光晕。
- 了解你的 alpha。 直接与预乘产生不同的边缘行为;一致地导出/合成(参见 概述、 Hargreaves)。
- 选择正确的输出。 对于“无背景”,提供一个带有干净 alpha 的光栅图(例如 PNG/WebP),或者如果需要进一步编辑,则保留带有蒙版的图层文件。关键在于你计算的 alpha 质量——植根于 Porter–Duff。
质量与评估
学术著作报告了在 Composition-1K 上的 SAD、MSE、梯度和连通性错误。如果你正在选择一个模型,请查找这些指标 (指标定义; 背景抠图指标部分)。 对于人像/视频,MODNet 和 背景抠图 V2 很强大;对于一般的“显著物体”图像, U2-Net 是一个坚实的基线;对于棘手的透明度, FBA 可能更干净。
常见边缘情况(及修复)
- 头发和毛皮: 倾向于抠图(三元图或像 MODNet 这样的人像抠图)并在棋盘格上检查。
- 精细结构(自行车辐条、鱼线): 使用高分辨率输入和像 DeepLabv3+ 这样的边界感知分割器作为抠图前的预处理步骤。
- 透明物体(烟雾、玻璃): 你需要分数 alpha 和通常的前景色估计 (FBA)。
- 视频会议: 如果你能捕捉到一个干净的背景板, 背景抠图 V2 看起来比简单的“虚拟背景”切换更自然。
这在现实世界中的应用
- 电子商务: 市场(例如亚马逊)通常要求主图背景为纯白色;请参阅 产品图片指南 (RGB 255,255,255)。
- 设计工具: Canva 的 背景移除器 和 Photoshop 的 移除背景 简化了快速抠图。
- 设备上的便利性: iOS/macOS 的“从照片背景中提取主体”非常适合休闲分享。
为什么抠图有时看起来很假(及修复)
- 颜色溢出: 绿色/蓝色光包裹着主体——使用 去溢控制 或有针对性的颜色替换。
- 光晕/边缘: 通常是 alpha 解释不匹配(直接与预乘)或边缘像素被旧背景污染;正确转换/解释 (概述, 详情)。
- 错误的模糊/颗粒: 将一个锐利的主体粘贴到一个柔和的背景上,它会显得突兀;在合成后匹配镜头模糊和颗粒(参见 Porter–Duff 基础)。
TL;DR 速查手册
什么是PBM格式?
便携式位图格式(黑白)
PBM(便携式位图)格式是最简单、最早的图形文件格式之一,用于存储单色图像。它是 Netpbm 套件的一部分,其中还包括用于灰度图像的 PGM( 便携式灰度图)和用于彩色图像的 PPM(便携式像素图)。PBM 格式旨在极易于在程序中读写,并且清晰明确。它并非旨在成为一种独立的格式,而更像是用于在不同图像格式之间转换的最低公分母。
PBM 格式仅支持黑白(1 位)图像。图像中的每个像素由一个比特表示——白色为 0,黑色为 1。该格式的简单性使其易于使用基本的文本编辑工具或编程语言进行操作,而无需专门的图像处理库。但是,这种简单性也意味着 PBM 文件可能比 JPEG 或 PNG 等更复杂的格式更大,后者使用压缩算法来减小文件大小。
PBM 格式有两种变体:称为 P1 的 ASCII(纯文本)格式和称为 P4 的二进制(原始)格式。ASCII 格式可供人类阅读,并且可以使用简单的文本编辑器创建或编辑。二进制格式不可供人类阅读,但更节省空间,并且程序可以更快地读写。尽管存储方式不同,但这两种格式都表示相同类型的图像数据,并且可以在不丢失信息的情况下相互转换。
ASCII 格式的 PBM 文件的结构以一个识别文件类型的两字节魔数开头。对于 PBM ASCII 格式,这是“P1”。在魔数之后,有空白(空格、制表符、回车符、换行符),然后是宽度规范,即图像中的列数,后面是更多空白,然后是高度规范,即图像中的行数。在高度规范之后,有更多空白,然后是像素数据开始。
ASCII PBM 文件中的像素数据由一系列“0”和“1”组成,其中每个“0”表示一个白色像素,每个“1”表示一个黑色像素。像素按行排列,每行像素在新的一行上。除了在两个字符序列中(不允许在序列的两个字符之间),像素数据中的任何位置都允许有空白。在读取 width*height 位后到达文件末尾。
相比之下,二进制 PBM 格式以“P4”而不是“P1”的魔数开头。在魔数之后,文件的格 式与 ASCII 版本相同,直到像素数据开始。二进制像素数据打包成字节,每个字节的最重要位 (MSB) 表示最左边的像素,并且每行像素根据需要填充以填充最后一个字节。填充位不重要,其值被忽略。
二进制格式更节省空间,因为它使用一个完整的字节来表示八个像素,而不是 ASCII 格式,后者使用至少八个字节(每个像素一个字符加上空白)。但是,二进制格式不可供人类阅读,并且需要一个了解 PBM 格式的程序来显示或编辑图像。
以编程方式创建 PBM 文件相对简单。在 C 等编程语言中,人们可以在写入模式下打开一个文件,输出适当的魔数,将宽度和高度作为用空白分隔的 ASCII 数字写入,然后输出像素数据。对于 ASCII PBM,像素数据可以写成一系列“0”和“1”,并带有适当的换行符。对于二进制 PBM,像素数据必须打包成字节并以二进制模式写入文件。
读取 PBM 文件也很简单。程序将读取魔数以确定格式,跳过空白,读取宽度和高度,跳过更多空白,然后读取像素数据。对于 ASCII PBM,程序可以一次读取一个字符,并将其解释为像素值。对于二进制 PBM,程序必须读取字节并将它们解包成各个位以获取像素值。
PBM 格式不支持任何形式的压缩或编码,这意味着文件大小与图像中的像素数量成正比。对于高分辨率图像,这可能会导致非常大的文件。但是,该格式的简单性使其非常适合学习图像处理,用于图像保真度比文件大小更重要的场合,或用作图像转换过程中的中间格式。
PBM 格式的优点之一是它的简单性和易于操作。例如,要反转 PBM 图像(将所有黑色像素变为白色,反之亦然),人们只需在像素数据中将所有“0”替换为“1”,并将所有“1”替换为“0”。这可以通过一个简单的文本处理脚本或程序来完成。类似地,其他基本的图像操作(如旋转或镜像)可以用简单的算法实现。
尽管 PBM 格式简单,但它并未广泛用于通用图像存储或交换。这主要是由于它缺乏压缩,这使得它不适合存储大图像或在带宽可能成为问题的情况下在互联网上使用。JPEG、PNG 和 GIF 等更现代的格式提供了各种形式的压缩,更适合这些目的。但是,PBM 格式仍然在某些情况下使用,特别是用于软件开发中的简单图形,以及作为图像处理概念的教学工具。
包括 PBM 格式在内的 Netpbm 套件提供了一组用于操作 PBM、PGM 和 PPM 文件的工具。这些工具允许在 Netpbm 格式和其他流行的图像格式之间进行转换,以及基本的图像处理操作,如缩放、裁剪和颜色操作。该套件设计为易于扩展,并具有一个用于添加新功能的简单界面。
总之,PBM 图像格式是一种用于存储单色位图图像的简单、朴素的文件格式。它的简单性使其易于理解和操作,这对于教育目的或简单的图像处理任务可能是有利的。虽然它不适合所有应用程序,因为它缺乏压缩并导致文件大小大,但它仍然是一种有用的格式,在特定情况下,它的优势最能发挥作用。PBM 格式与 Netpbm 套件的其他部分一起,仍然是从事基本图像处理和格式转换的人员的宝贵工具。
支持的格式
AAI.aai
AAI Dune 图像
AI.ai
Adobe Illustrator CS2
AVIF.avif
AV1 图像文件格式
BAYER.bayer
原始 Bayer 图像
BMP.bmp
Microsoft Windows 位图
CIN.cin
Cineon 图像文件
CLIP.clip
图像剪贴遮罩
CMYK.cmyk
原始 青色,洋红,黄色,黑色 样本
CUR.cur
Microsoft 图标
DCX.dcx
ZSoft IBM PC 多页 Paintbrush
DDS.dds
Microsoft DirectDraw Surface
DPX.dpx
SMTPE 268M-2003 (DPX 2.0) 图像
DXT1.dxt1
Microsoft DirectDraw Surface
EPDF.epdf
封装的可移植文档格式
EPI.epi
Adobe 封装的 PostScript 交换格式
EPS.eps
Adobe 封装的 PostScript
EPSF.epsf
Adobe 封装的 PostScript
EPSI.epsi
Adobe 封装的 PostScript 交换格式
EPT.ept
带 TIFF 预览的封装 PostScript
EPT2.ept2
封装的 PostScript 二级带 TIFF 预览
EXR.exr
高动态范围 (HDR) 图像
FF.ff
Farbfeld
FITS.fits
灵活图像传输系统
GIF.gif
CompuServe 图形交换格式
HDR.hdr
高动态范围图像
HEIC.heic
高效图像容器
HRZ.hrz
慢扫描电视
ICO.ico
Microsoft 图标
ICON.icon
Microsoft 图标
J2C.j2c
JPEG-2000 代码流
J2K.j2k
JPEG-2000 代码流
JNG.jng
JPEG 网络图形
JP2.jp2
JPEG-2000 文件格式
JPE.jpe
联合图像专家小组 JFIF 格式
JPEG.jpeg
联合图像专家小组 JFIF 格式
JPG.jpg
联合图像专家小组 JFIF 格式
JPM.jpm
JPEG-2000 文件格式
JPS.jps
联合图像专家小组 JPS 格式
JPT.jpt
JPEG-2000 文件格式
JXL.jxl
JPEG XL 图像
MAP.map
多分辨率无缝图像数据库 (MrSID)
MAT.mat
MATLAB 5 级图像格式
PAL.pal
Palm pixmap
PALM.palm
Palm pixmap
PAM.pam
通用 2D 位图格式
PBM.pbm
便携式位图格式(黑白)
PCD.pcd
照片 CD
PCT.pct
Apple Macintosh QuickDraw/PICT
PCX.pcx
ZSoft IBM PC Paintbrush
PDB.pdb
Palm 数据库图片查看器格式
PDF.pdf
便携式文档格式
PDFA.pdfa
便携式文档归档格式
PFM.pfm
便携式浮点格式
PGM.pgm
便携式灰度图格式(灰度)
PGX.pgx
JPEG 2000 无损格式
PICT.pict
Apple Macintosh QuickDraw/PICT
PJPEG.pjpeg
联合图像专家小组 JFIF 格式
PNG.png
便携式网络图形
PNG00.png00
从原图继承位深度和颜色类型的 PNG
PNG24.png24
不透明或二值透明的 24 位 RGB (zlib 1.2.11)
PNG32.png32
不透明或二值透明的 32 位 RGBA
PNG48.png48
不透明或二值透明的 48 位 RGB
PNG64.png64
不透明或二值透明的 64 位 RGBA
PNG8.png8
不透明或二值透明的 8 位索引
PNM.pnm
便携式任意图
PPM.ppm
便携式像素图格式(彩色)
PS.ps
Adobe PostScript 文件
PSB.psb
Adobe 大型文档格式
PSD.psd
Adobe Photoshop 位图
RGB.rgb
原始 红色,绿色,蓝色 样本
RGBA.rgba
原始 红色,绿色,蓝色,Alpha 样本
RGBO.rgbo
原始 红色,绿色,蓝色,不透明度 样本
SIX.six
DEC SIXEL 图形格式
SUN.sun
Sun Rasterfile
SVG.svg
可缩放矢量图形
TIFF.tiff
标记图像文件格式
VDA.vda
Truevision Targa 图像
VIPS.vips
VIPS 图像
WBMP.wbmp
无线位图 (0级) 图像
WEBP.webp
WebP 图像格式
YUV.yuv
CCIR 601 4:1:1 或 4:2:2
常见问题
这是如何工作的?
这个转换器完全在您的浏览器中运行。当您选择一个文件时,它将被读入内存并转换为所选格式。 然后,您可以下载转换后的文件。
转换一个文件需要多长时间?
转换立即开始,大多数文件在一秒钟内完成转换。较大的文件可能需要更长时间。
我的文件会发生什么?
您的文件永远不会上传到我们的服务器。它们在您的浏览器中转换,然后下载转换后的文件。我们永远看不到您的文件。
我可以转换哪些文件类型?
我们支持在所有图像格式之间进行转换,包括 JPEG、PNG、GIF、WebP、SVG、BMP、TIFF 等等。
这要花多少钱?
这个转换器完全免费,并将永远免费。因为它在您的浏览器中运行,所以我们不需要为服务器付费,因此我们不需要向您收费。
我可以同时转换多个文件吗?
是的!您可以同时转换尽可能多的文件。只需在添加时选择多个文件即可。