【问题标题】:How to create thumbnails using opencv-python?如何使用 opencv-python 创建缩略图?
【发布时间】:2015-08-31 20:58:02
【问题描述】:

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

我的代码如下:

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

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

【问题讨论】:

    标签: python opencv image-processing python-imaging-library


    【解决方案1】:

    您可以使用 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 获得更好的结果。

    【讨论】:

    • cv2.resize 会将您提供的图像调整为指定尺寸。maxsize 不是最大尺寸,它是 target 尺寸。您可以使用 python 库 imutils.resize(opencv 便利函数)。它包装了 cv2.resize 函数,以便在调整大小时保持图像纵横比,但是如果您提供的图像小于您提供的尺寸,它也会放大图像。要解决此问题,请仅在图像较大时调用它。
    猜你喜欢
    • 1970-01-01
    • 2011-02-06
    • 2013-03-25
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多