我经常使用 pdfimages 从 pdf 文件中提取图形图像。很多时候,我发现提取的图像似乎分为两部分 - 原始图像和灰度蒙版,用于筛选掉原始图像中不需要的部分。
我遇到的问题是让图像看起来像 pdf 中那样。我总是可以使用放大图像并进行屏幕截图的解决方法,但这似乎很笨拙,并且如果图像上有文本则不起作用。
然而我还没能想出一个可行的替代方案。
这是一个具体的例子。原始 pdf 中有一张人的头像,背景为白色/透明。提取的图像背景为深色。
pdf 的蒙版图像是灰度的,背景部分为黑色,人物形状为白色。两者之间的边界是羽化的,黑色和白色之间有一条细细的灰色区域。
使用 GIMP,我打开主图像并添加一个 alpha 通道,因为它似乎没有。接下来,我将蒙版打开为新图层,并为其添加一个 alpha 通道。然后,我根据蒙版图像的灰度为其添加一个透明的图层蒙版。
这使我的背景变成深色而不是透明的。
关于如何做到这一点,您有什么建议吗?抱歉,这是一个新手问题,但我并不是图形专家。
答案1
找到了一种方法来实现这一点https://graphicdesign.stackexchange.com/questions/8397/gimp-using-an-image-as-the-transparency-layer-of-another-image
为了明确这一点,具体步骤如下:
- 打开基础镜像
- 添加 Alpha 通道
- 添加图层蒙版 - 无论你选择什么选项
- 打开蒙版图像
- 添加 Alpha 通道
- 复制遮罩图像
- 在主图中,编辑图层蒙版
- 将蒙版图像粘贴到图层蒙版中(例如CTRL+ V)
这应该适用于任何使用蒙版的 PDF 图像。
答案2
您可以尝试使用hexapdf images
该命令尝试在输出之前将掩码与图像结合起来。
此命令的工作方式与 类似pdfimages
。但请注意,目前并非支持 PDF 中存储的所有类型的图像,但通常输出为 PNG 的图像应该可以正常工作。