如何使用opencv-python创建缩略图?

How to create thumbnails using opencv-python?

我正在尝试使用 Python-Pillow's im.thumbnail() 方法对图像进行下采样(使用 anti-aliasing)。

我的代码如下:

MAXSIZE = 1024
im.thumbnail(MAXSIZE, Image.ANTIALIAS)

你能告诉我 opencv-python 中的一些替代方法来执行此调整大小操作吗?

您可以使用 cv2.resize。此处的文档:http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html#resize

在你的例子中,假设输入图像 im 是一个 numpy 数组:

maxsize = (1024,1024) 
imRes = cv2.resize(im,maxsize,interpolation=cv2.CV_INTER_AREA)

有不同类型的插值可用(INTER_CUBIC、INTER_NEAREST、INTER_AREA、...)但是根据文档,如果您需要缩小图像,您应该使用 CV_INTER_AREA.

获得更好的结果