python 如何在不损失像素质量的情况下调整图像大小?
How to resize image without losing pixel qualityin python?
我有一张 32x32 的图片。我在 python 中将它的大小调整为 512x512,当我在绘画中调整它时,图像的质量和视图不一样。
original image resized-with-paint resized-with-python
需要添加什么才能获得与 Paint 相同的结果?
from PIL import Image
im=Image.open('1.png')
im=im.resize(512,512)
im.save('resized.png')
使用:
im = im.resize((521,512), resample=Image.NEAREST)
为了那个效果。
您所看到的 “质量损失” 并不是真正的 - 它实际上是插值方法的差异。放大图像时,算法实际上必须“发明” 新像素来填充位图光栅。一些算法在已知的周围值之间进行插值,其他算法只采用最接近的值 - 也称为 “最近邻”。优点和缺点都有 - “最近邻” 会更快,并且不会在调整大小后引入新的 “in-between” 颜色图片。不利的一面是,它会更慢,看起来更 "blocky" 并且不太平滑。
选择合适的方法需要一定的思考和经验。
我有一张 32x32 的图片。我在 python 中将它的大小调整为 512x512,当我在绘画中调整它时,图像的质量和视图不一样。
original image resized-with-paint resized-with-python
需要添加什么才能获得与 Paint 相同的结果?
from PIL import Image
im=Image.open('1.png')
im=im.resize(512,512)
im.save('resized.png')
使用:
im = im.resize((521,512), resample=Image.NEAREST)
为了那个效果。
您所看到的 “质量损失” 并不是真正的 - 它实际上是插值方法的差异。放大图像时,算法实际上必须“发明” 新像素来填充位图光栅。一些算法在已知的周围值之间进行插值,其他算法只采用最接近的值 - 也称为 “最近邻”。优点和缺点都有 - “最近邻” 会更快,并且不会在调整大小后引入新的 “in-between” 颜色图片。不利的一面是,它会更慢,看起来更 "blocky" 并且不太平滑。
选择合适的方法需要一定的思考和经验。