【问题标题】:resize image without changing inner shap of image在不改变图像内部形状的情况下调整图像大小
【发布时间】:2017-10-20 05:20:38
【问题描述】:

我想在不损失原始质量的情况下调整图像大小。例如,我有 10 个不同大小的 多个白色背景。我想把它们做成同样大小的 50*50。这样符号应该留在同一个地方并在外面添加额外的白色像素。 我正在使用cv2.resize(template[1], (25, 45), 255),但我的符号分散了。我不想降低质量。我也看过这个帖子resize image canvas to maintain square aspect ratio in Python, OpenCv,但是没找到合适的

【问题讨论】:

    标签: python python-2.7 cv2


    【解决方案1】:

    这里是这个问题的一个很好的参考链接,并使用我发布的模块。

    https://pypi.python.org/pypi/python-resize-image

    但您要查找的语法如下:

    resize_contain
    

    这将调整图像大小,使其适合指定区域,保持比例且不裁剪(与背景大小相同的行为:包含)。

    语法示例:

    resize_contain(image, size, validate=True)
    

    调整图像大小,使其适合指定区域,保持比例且不裁剪。它与 css background-size: contains 属性的行为相同。将创建一个白色背景边框。

    将图像大小调整到最小,使其包含在 200x100 的矩形中,这是源图像和目标图像之间的比率。

    from PIL import Image
    from resizeimage import resizeimage
    
    fd_img = open('test-image.jpeg', 'r')
    img = Image.open(fd_img)
    img = resizeimage.resize_contain(img, [200, 100])
    img.save('test-image-contain.jpeg', img.format)
    fd_img.close()
    

    【讨论】:

    • 我想通过 python 来做。
    • 请给我一些时间来研究这个问题,我会再次发布
    • 如果您从未使用过 PIP,则需要使用 PIP 为 python 安装此模块,可以在这里找到 PIP 使用的简单参考...packaging.python.org/tutorials/installing-packages
    猜你喜欢
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    相关资源
    最近更新 更多