拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 将多个影像的大小调整为特定的正方形比例而不进行填充

将多个影像的大小调整为特定的正方形比例而不进行填充

白鹭 - 2022-03-03 1952 0 0

我的问题很简单,但我在谷歌上没有找到任何解决方案,所有的答案都是为了添加填充,在我的情况下我不想要......

它基本上是通过 WordPress 方式调整影像大小(智能调整大小和裁剪)......对于没有填充的方形纵横比......请提前帮助并感谢您。

这是影像输入示例:

将多个影像的大小调整为特定的正方形比例而不进行填充

这是我想要的结果,例如(150x150 或任何正方形大小):

将多个影像的大小调整为特定的正方形比例而不进行填充

这是我迄今为止尝试过的:

import cv2import numpy as npfrom os import listdirfrom os.path import isfile, joinfrom pathlib import Pathimport argparseimport numpy
 mypath = 'images'onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]images = numpy.empty(len(onlyfiles), dtype=object)
 for n in range(0, len(onlyfiles)):
 
    path = join(mypath, onlyfiles[n])
    images[n] = cv2.imread(join(mypath, onlyfiles[n]),
                           cv2.IMREAD_UNCHANGED)
 
    try:
        img = cv2.imread(path, 1)
        resized_dimensions = (400, 400)
        resized_image = cv2.resize(img, resized_dimensions, interpolation=cv2.INTER_AREA)
        if not cv2.imwrite('output/'  str(n)  '.jpg', resized_image):            raise Exception("Could not write image")
        
    except Exception as e:        print(str(e))
 print("Images resized Successfully")

代码有效,但影像失真......

uj5u.com热心网友回复:

这个答案假设您能够使用将多个影像的大小调整为特定的正方形比例而不进行填充

它检查纵向或横向,因为在纵向中,裁剪区域填充宽度并偏离高度;在风景中反之亦然。如果你真的想要的话,你可以用聪明的minmax陈述句在一个陈述句中做到这一点

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *