big*_*mac 53 python python-imaging-library
我正在研究PIL并且需要知道在调整图像大小或缩略图像时是否可以调整图像质量.据我所知,默认质量设置为85.可以在调整大小期间调整此参数吗?
我目前正在使用以下代码:
image = Image.open(filename)
image.thumbnail((x, y), img.ANTIALIAS)
Run Code Online (Sandbox Code Playgroud)
该ANTIALIAS
参数可能提供最佳质量.我需要知道我们是否可以在质量选项上获得更多粒度.
Dom*_*ger 83
resize
手动使用PIL的方法:
image = image.resize((x, y), Image.ANTIALIAS) # LANCZOS as of Pillow 2.7
Run Code Online (Sandbox Code Playgroud)
其次是save方法
quality_val = 90
image.save(filename, 'JPEG', quality=quality_val)
Run Code Online (Sandbox Code Playgroud)
看一下models.py
Photologue 的来源,看看他们是如何做到的.
jcd*_*yer 46
ANTIALIAS绝不能与"85"质量水平相媲美.ANTIALIAS参数告诉缩略图方法用于将像素从一种尺寸重新采样到另一种尺寸的算法.例如,如果我有一个3x3图像,如下所示:
2 2 2
2 0 2
2 2 2
Run Code Online (Sandbox Code Playgroud)
我将其调整为2x2,一个算法可能会给我:
2 2
2 2
Run Code Online (Sandbox Code Playgroud)
因为附近的大多数像素都是2,而另一个可能会给我:
1 1
1 1
Run Code Online (Sandbox Code Playgroud)
为了考虑到中间的0.但是你仍然没有开始处理压缩,直到你保存图像.也就是说,在缩略图中,您不是在处理质量等级,而是使用离散算法进行重采样.所以不,你不能在这里得到更好的控制.
如果保存为具有有损压缩的格式,则可以指定质量级别.
Den*_*din 12
不要混淆重新缩放和压缩.
为了获得最佳质量,您必须同时使用两者.请参阅以下代码:
from PIL import Image
image = Image.open(filename)
image.thumbnail((x, y), Image.ANTIALIAS)
image.save(filename, quality=100)
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我的程序中有很好的拇指.
归档时间: |
|
查看次数: |
60121 次 |
最近记录: |