我调整图片大小的代码是:
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)
事情是我的图像在原始图像中充满了小文本,因此当它们被调整大小以便能够进一步处理它们甚至读取它们时,确实需要一个好的结果。
答案 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')