我的问题很简单,但我在谷歌上没有找到任何解决方案,所有的答案都是为了添加填充,在我的情况下我不想要......
它基本上是通过 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热心网友回复:
这个答案假设您能够使用
它检查纵向或横向,因为在纵向中,裁剪区域填充宽度并偏离高度;在风景中反之亦然。如果你真的想要的话,你可以用聪明的min
和max
陈述句在一个陈述句中做到这一点。
0 评论