背景移除将主体与其周围环境分离开来,这样你就可以将其放置在 透明背景上、更换场景或将其合成为新设计。在底层,你正在估算一个 alpha 遮罩——一个从 0 到 1 的每像素不透明度——然后将前景alpha 合成到 其他东西上。这是 Porter–Duff 的数学原理,也是“边缘”和 直接 alpha 与预乘 alpha 等常见陷阱的起因。有关预乘和线性颜色的实用指南,请参阅 微软的 Win2D 笔记、 Søren Sandmann 和 Lomont 关于线性混合的文章。
如果你能控制拍摄,将背景涂成纯色(通常是绿色),然后抠掉该色调。 这种方法速度快,在电影和广播中经过实战检验,非常适合视频。权衡之处在于灯光和服装: 彩色光会溢出到边缘(尤其是头发),所以你需要使用去溢工具来中和污染。 好的入门资料包括 Nuke 的文档、 Mixing Light 和一个实践性的 Fusion 演示。
对于背景杂乱的单张图片,交互式算法需要用户提供一些提示——例如,一个宽松的 矩形或涂鸦——然后收敛到一个清晰的蒙版。经典方法是 GrabCut (书籍章节),它学习前景/背景的颜色模型,并迭代使用图割来分离它们。 你会在 GIMP 的前景选择中看到类似的想法,它基于 SIOX (ImageJ 插件)。
抠图解决在纤细边界(头发、毛皮、烟雾、玻璃)处的部分透明度问题。经典的 闭式抠图 接受一个三元图(绝对前景/绝对背景/未知),并求解一个具有强边缘保真度的 alpha 线性系统。现代的 深度图像抠图 在 Adobe Composition-1K 数据集上训练神经网络(MMEditing 文档),并使用 SAD、MSE、梯度和连通性等指标进行评估(基准解释器)。
相关的分割工作也很有用: DeepLabv3+ 使用编码器-解码器和空洞卷积来细化边界 (PDF); Mask R-CNN 提供每个实例的蒙版 (PDF);以及 SAM (Segment Anything) 是一个 可提示的基础模型,可在不熟悉的图像上进行零样本蒙版生成。
学术著作报告了在 Composition-1K 上的 SAD、MSE、梯度和连通性错误。如果你正在选择一个模型,请查找这些指标 (指标定义; 背景抠图指标部分)。 对于人像/视频,MODNet 和 背景抠图 V2 很强大;对于一般的“显著物体”图像, U2-Net 是一个坚实的基线;对于棘手的透明度, FBA 可能更干净。
PCL(打印机命令语言)图像格式不是像 JPEG 或 PNG 这样的独立图像格式,而是惠普(HP)开发的 PCL 打印机语言的一部分。PCL 是一种页面描述语言 (PDL),用于控制打印设备,并且受到许多不同打印机型号的广泛支持。它用于告诉打印机如何打印文档,包括文本、字体、图形和图像。PCL 语言用于描述打印页面上文本和图形的布局,并且它包括用于控制打印机的图形状态和将图像栅格化(转换为像素)的命令。
PCL 最初于 1980 年代推出,并随着时间的推移不断发展,发布了多个版本。最常见的版本是 PCL 5、PCL 5e 和 PCL 6(也称为 PCL XL)。PCL 5 引入了宏、更大的位图字体和图形功能。PCL 5e(增强版)在打印机和 PC 之间增加了双向通信,并提高了打印速度和图像质量。PCL 6 旨在成为一种用于复杂图形的高效协议,它使用压缩协议传输数据,并且针对从 Windows 等图形用户界面进行打印进行了优化。
在 PCL 的上下文中,图像表示为可以打印在纸上的点图案。PCL 使用矢量命令和栅格图形的组合来表示图像。矢量命令用于绘制形状和线条,而栅格图形用于更复杂的图像或照片。当 PCL 打印机收到文档时,它会处理这些命令以创建最终的打印输出。
PCL 中的栅格图像使用一系列命令定义,这些命令指定图像数据的分辨率、大小和编码。PCL 图像的分辨率通常以每英寸点数 (DPI) 指定,它表示打印机将使用多少个点来表示一英寸纸张上的图像。图像的大小根据点行数和列数定义。
PCL 支持多种编码栅格图像数据的方法。一种常见的方法是使用简单的游程编码 (RLE),它通过用单个值和计数替换相同颜色的序列来压缩图像数据。这对于具有大面积单一颜色的图像特别有效。PCL 还支持更复杂的压缩方案,例如仅对相邻像素行之间的差异进行编码的行差分压缩,以及可以在图像的不同部分之间切换不同压缩方法的自适应压缩。
要在 PCL 文档中包含图像,必须先将图像数据转换为 PCL 格式。这涉及到将图像栅格化,这意味着将其从其原始格式(例如 JPEG 或 PNG)转换为打印机可以理解的点阵。然后使用支持的压缩方法之一对栅格化图像进行编码,并使用适当的 PCL 命令将其嵌入到 PCL 文档中。
用于嵌入图像的 PCL 命令包括“进入栅格模式”命令,它表示栅格图像的开始,以及“栅格数据传输”命令,它用于将实际图像数据发送到打印机。还有用于设置图像的分辨率和颜色深度的命令,以及用于在页面上定位图像的命令。
PCL 图像中的颜色通过使用调色板或直接颜色指定来处理。在调色板中,图像中使用的每种颜色都由颜色值表中的索引定义。打印机使用此表来确定为每个点打印的实际颜色。直接颜色指定允许显式指定每个点的颜色,通常作为红色、绿色和蓝色 (RGB) 值的组合。
PCL 还包括对半色调的支持,这是一种通过改变点图案来模拟不同色调的技术。半色调是必要的,因为大多数打印机可以打印的颜色数量有限(通常只有黑色、青色、品红色和黄色)。通过仔细排列这些基本颜色的点,可以模拟广泛的色调和颜色。PCL 使用多种半色调算法,包括有序抖动和错误扩散,以实现此效果。
在打印包含 PCL 图像的文档时,计算机上的打印机驱动程序会将文档转换为 PCL 命令,包括任何嵌入图像的命令。驱动程序还会处理任何必要的颜色转换,例如将 RGB 颜色转换为打印机使用的色彩空间(通常为 CMYK - 青色、品红色、黄色和键/黑色)。然后将生成的 PCL 数据流发送到打印机进行打印。
PCL 的优点之一是它在许多不同的打印机型号和制造商中得到广泛支持。这意味着使用 PCL 命令格式化的文档可以在各种打印机上打印,而无需针对每台打印机重新格式化或调整。但是,由于 PCL 是一种相对低级 的语言,因此直接创建 PCL 文档可能会很复杂,并且需要很好地理解 PCL 命令集。
出于这个原因,大多数用户永远不会直接与 PCL 命令交互。相反,他们将使用可以生成 PCL 输出的打印机驱动程序或软件应用程序。例如,从文字处理器或图形程序打印时,应用程序会将文档发送到打印机驱动程序,后者会将其转换为用于打印的 PCL 命令。
尽管 PCL 已经很老了,但由于其效率和可靠性,它仍然在今天使用。它特别适合于打印机在许多用户之间共享并且以打印文本和简单图形为主的办公环境。PCL 对宏和字体的支持还允许快速打印具有重复元素的标准表单和文档。
但是,PCL 确实有一些限制,尤其是在打印复杂图形或高分辨率图像时。虽然 PCL 6(PCL XL)旨在解决其中一些问题,但它不像 PCL 的早期版本那样得到广泛支持,并且一些用户报告了与某些打印机的兼容性问题。此外,PCL 不太适合从需要对图形的布局和质量进行精确控制的应用程序(例如桌面出版软件)进行打印。
总之,PCL 图像格式是 PCL 打印机语言的一个组成部分,PCL 打印机语言几十年来一直是印刷行业的标准。它的设计允许在各种打印机上高效可靠地打印带有嵌入图像的文档。虽然它可能不是高质量图形打印的最佳选择,但它易于使用且支持各种打印任务,使其成为许多企业和个人的宝贵工具。了解 PCL 的技术方面以及它如何处理图像对于 IT 专业人员、软件开发人员以及参与创建或维护印刷文档的任何人都是有益的。
这个转换器完全在您的浏览器中运行。当您选择一个文件时,它将被读入内存并转换为所选格式。 然后,您可以下载转换后的文件。
转换立即开始,大多数文件在一秒钟内完成转换。较大的文件可能需要更长时间。
您的文件永远不会上传到我们的服务器。它们在您的浏览器中转换,然后下载转换后的文件。我们永远看不到您的文件。
我们支持在所有图像格式之间进行转换,包括 JPEG、PNG、GIF、WebP、SVG、BMP、TIFF 等等。
这个转换器完全免费,并将永远免费。因为它在您的浏览器中运行,所以我们不需要为服务器付费,因此我们不需要向您收费。
是的!您可以同时转换尽可能多的文件。只需在添加时选择多个文件即可。