将图像调整大小到200%会导致Pillow和pyvips之间的质量差异。
虽然Pillow在重现方面非常准确,但vips夸大了噪声和对比度。
我需要使用vips处理非常大的图像,但质量令人不满意。有没有办法从vips获得更好的放大效果?(从文档中我了解到,对于vips来说,放大并不是真正重要的,大部分思考都集中在缩小上)。
示例:
from PIL import Image
import pyvips
import numpy as np
#Vips
img = pyvips.Image.new_from_file("mypic.jpg", access='sequential')
out = img.resize(2, kernel = "linear")
out.write_to_file("mypic_vips_resized.tif")
#Pillow
img = np.array(Image.open("mypic.jpg"))
h, w = img.shape[:2]
out = Image.fromarray(img,mode="RGB")
out = out.resize((w*2,h*2), Image.BILINEAR)
out.save("mypic_PIL_resized.tif", format='TIFF', compression='None')
抽象示例(10*10像素)
双线性
,对于Pyvips是立方
。请尝试将Vips设置为线性
,它们应该匹配。您可以尝试其他Pyvips内核:最近邻、线性、三次样条、Mitchell、Lanczos2、Lanczos3。 - jcupitt