我试图通过tesseract处理大量图像。尽管如此,我刚刚发现通过增加dpi我获得了更好的结果。我已经尝试在StackOverflow中查看如何增加图像的dpi,但是我发现的所有答案都涉及在保存文件时更改dpi,所以类似于:
img.save('test.png', dpi=(300.0, 300.0))
因此我想知道是否可以在不必保存文件的情况下执行此操作。
我尝试过以下操作:
image = Image.open('test.png', dpi=(300.0, 300.0))
但遗憾的是它不起作用
非常感谢您的帮助。
答案 0 :(得分:1)
PNG格式将DPI信息存储在文件中的元数据块中,称为“pHYs”块。所以,你真的在寻找一种工具,它可以在PNG文件中编辑或添加这些块,而无需自己读取图像数据。
可以执行此操作的库libpng并且存在Python bindings。
您可能还想查看解决同一问题的this question。显然,有IrfanView和ImageMagick这样的工具可以更改PNG文件,比如在其中添加一个pHYs元数据块。
答案 1 :(得分:0)
只需在此处发布答案:How to change the dpi or density when saving images using PIL,我也发现了这一点。我认为在此发布的完整答案将回答您的问题。简而言之,我建议您保存一个临时文件,然后在完成后将其删除。我找不到其他解决方法。