PIL을 사용하여 너비가 600px에서 2400px까지 200px까지 범위로 조정할 수 있습니다. 이미 Image.ANTIALIAS
을 통합했으며 quality=95
을 설정하여 최고 품질의 이미지를 얻으실 수 있습니다.PIL : 최상의 화질을 유지하면서 이미지 크기 조정
그러나 축소 된 이미지는 여전히 원본과 비교할 때 품질이 매우 떨어집니다.
가능한 이미지 품질의 정도를 유지하면서 이러한 비율에 따라 이미지의 크기를 조절하는 가장 좋은 방법은 무엇입니까# Open the original image
fp = urllib.urlopen(image_path)
img = cStringIO.StringIO(fp.read())
im = Image.open(img)
im = im.convert('RGB')
# Resize the image
resized_image = ImageOps.fit(im, size, Image.ANTIALIAS)
# Save the image
resized_image_object = cStringIO.StringIO()
resized_image.save(resized_image_object, image_type, quality=95)
:
여기에 내가 사용하고 코드인가?
필자의 주요 목표는 가능한 최대 화질의 이미지를 얻는 것입니다. 프로세스가 얼마나 효율적인지에 대해서는별로 관심이 없습니다.
몇 가지 예를 볼 수 있습니까? 즉 원본 이미지, 스크립트로 축소 된 이미지 및 비교를 위해 Photoshop으로 축소 된 이미지를 만들었습니까? – kindall
일반적으로 결과 이미지의 픽셀 영역을 반복 반복하고 원본 이미지에서 다시 매핑되는 영역을 확인하는 것이 좋습니다. 이것은 회전에 더 중요하지만 완전히 임의적 인 스케일링에도 관련 될 수 있습니다. – Jiminion
PIL이 할 수있는 최선의 코드는 아마도 RGB로 변환하고 ANTIALIAS를 사용하는 코드 일 것입니다. 나는 최근에 ANTIALIAS가 실제로 Lanczos3 알고리즘이라는 것을 발견했습니다. 이것은 꽤 좋은 것으로 간주됩니다. 결과가 부족하다는 것을 아는 것이 궁금합니다. –