在调整图像大小后,如何最小化模糊度?

时间:2018-04-05 09:38:55

标签: python python-3.x image image-processing python-imaging-library

我调整图片大小的代码是:

from PIL import Image


ratio = 0.2
img = Image.open('/home/user/Desktop/test_pic/1-0.png')
hsize = int((float(img.size[1])*float(ratio)))
wsize = int((float(img.size[0])*float(ratio)))
img = img.resize((wsize,hsize), Image.ANTIALIAS)
img.save('/home/user/Desktop/test_pic/change.png')
我试过的是:

.ANTIALIAS https://pillow.readthedocs.io/en/3.1.x/reference/Image.html#PIL.Image.Image.resize

以外的其他选项

保存quality

时添加参数img.save('/home/user/Desktop/test_pic/change.png',quality=95)

转换为rgb img = img.convert("RGB").resize((wsize,hsize), Image.ANTIALIAS)

事情是我的图像在原始图像中充满了小文本,因此当它们被调整大小以便能够进一步处理它们甚至读取它们时,确实需要一个好的结果。

2 个答案:

答案 0 :(得分:0)

调整图片大小并不神奇 - 如果您的图片为4000x3000并且文字高度为40x30(每个字符,其中可能有6像素厚度的各个行)并且您调整了它的大小至0.2生成的图片为800x600,文字字符为8x6,其中包含1(.2) px行。

文本行是非常细的线条,因此它们与周围的颜色一起被遮挡 - 无论您使用什么过滤器,平均值为"该  消失的像素的颜色后来留下了什么。

您可以尝试在调整大小之前锐化图像,使文本更加突出,希望通过Bi / Trilin过滤获得更清晰的结果。

之后你可以做同样的事情,重新获得你的褪色文字颜色和周围像素之间的一些对比 - 但这就是它。两者都将影响整体情况。

读取:http://pillow.readthedocs.io/en/3.1.x/reference/ImageFilter.html - 您可以试用Sharpen过滤器。

答案 1 :(得分:0)

为扩展Patrick的答案,滤镜会改变图像的外观,并在应用后可能导致图像中出现伪影。我推荐以下两个:

from PIL import Image, ImageFilter

ratio = 0.2
img = Image.open('/home/user/Desktop/test_pic/1-0.png')
hsize = int((float(img.size[1])*float(ratio)))
wsize = int((float(img.size[0])*float(ratio)))
img = img.resize((wsize,hsize), Image.ANTIALIAS)
img.save('/home/user/Desktop/test_pic/1-0.no-filter.png')
img_sharpened = img.filter(ImageFilter.SHARPEN)
img_sharpened.save('/home/user/Desktop/test_pic/1-0.sharpened.png')

f = ImageFilter.UnsharpMask()
img_unsharp = img.filter(f)
img_unsharp.save('/home/user/Desktop/test_pic/1-0.unsharp.png')