我正在使用Python Wand模块(版本0.4.3。)将以pdf格式存储的图像转换为PNG。当我将最终图像保存在其原始图像的宽度和高度时,最终的PNG质量非常好。但是,当我尝试将其保存到较小的图像时,最终PNG变得模糊,质量不是那么好。
显示两张图片之间的差异here。顶部图像转换为原始大小(10800x7200像素)。第二个是规模到1250x833px。
有什么方法可以改善第二张图片吗?我玩过不同的滤镜和模糊设置。但是,无法获得我想要的图像质量。任何帮助是极大的赞赏。
我曾用于将PDF转换为原始大小的png代码:
def pdf_to_png(pdf_name, res):
with Image(filename=pdf_name, resolution=res) as img:
with Image(width=img.width,height=img.height, background=Color("white")) as bg:
bg.composite(img,0,0)`
bg.save(filename="Drawing_improved_wand.png")`
pdf_to_png('Drawing_1.pdf', 300)
调整大小的代码png:
with Image(filename="Drawing_1.pdf", resolution=(300,300)) as img:
with Image(width=1250, height=833, background=Color("white")) as bg:
img.resize(1250, 833,filter='undefined', blur=1)
img.format = 'png'
bg.composite(img,0,0)
bg.save(filename='Drawing_improved_wand1250x833.png')
答案 0 :(得分:0)
这可能是由于ImageMagick如何处理PDF文本+向量的光栅化效率低下,而不是因为你做错了什么。大型PNG可能与小型PNG具有相同的问题,但由于分辨率几乎高出一个数量级,因此效果变得难以察觉。
如果导出到大型PNG时文件看起来不错,我会将其用于进一步处理(如缩小)而不是PDF。
答案 1 :(得分:0)
你试着设置模糊< 1?
例如:
img.resize(1250, 833,filter='undefined', blur=0.1)