使用 Opencv Python 调整图像大小并保持质量

CC.*_*CC. 5 python opencv image image-processing image-resizing

我想使用 OpenCV python 库调整图像大小。它有效,但图像质量很差。

我必须说,我想将这些图像用于照片共享网站,因此质量是必须的。

这是我目前的代码:

[...]

_image = image
height, width, channels = _image.shape
target_height = 1000
scale = height/target_height
_image = cv2.resize(image, (int(width/scale), int(height/scale)), interpolation = cv2.INTER_AREA)
cv2.imwrite(local_output_temp_file,image, (cv2.IMWRITE_JPEG_QUALITY, 100))
[...]
Run Code Online (Sandbox Code Playgroud)

不知道有没有其他参数可以用来指定图像的质量。

谢谢。

Pio*_*rus 2

尝试使用更准确的插值技术,例如cv2.INTER_CUBICcv2.INTER_LANCZOS64。也尝试切换到scikit-image. 文档更好,库的功能更广泛。它有 6 种插值模式可供选择:

  • 0:最近邻
  • 1:双线性(默认)
  • 2:双二次
  • 3:双三次
  • 4:双四次
  • 5:双五次