Resizing an image to 200% yields a difference in quality between Pillow and pyvips.
While Pillow is very accurate in the reproduction, vips exaggerates noise and contrast.
I need to use vips for very large images, but the quality is unsatisfactory. Any idea how to get better upscaling from vips? (From the docs I gathered that upscaling isn't really that important for vips and most thought has gone into downscaling).
example:
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')
Abstract examples (10*10 Pixels)