代码拉取完成,页面将自动刷新
import numpy as np
from PIL import Image
def pad_img_KAR(img, target_w, target_h, pad_value=(124, 116, 104)):
w, h = img.size
if w / h == target_w / target_h:
return img, (0, 0)
if w < h or w * (target_h / target_w) < h:
new_w = int(h * (target_w / target_h))
new_img = Image.new('RGB', (new_w, h), color=pad_value)
new_img.paste(img, (int((new_w - w) // 2), 0))
return new_img, (new_w - w, 0)
else:
new_h = int(w * (target_h / target_w))
new_img = Image.new('RGB', (w, new_h), color=pad_value)
new_img.paste(img, (0, int((new_h - h) // 2)))
return new_img, (0, new_h - h)
def pad_array_KAR(arr, target_h, target_w, pad_value=np.array([[0]])):
h, w = arr.shape
if w / h == target_w / target_h:
return arr, (0, 0)
if w < h or w * (target_h / target_w) < h:
new_w = int(h * (target_w / target_h))
new_arr = np.ones((h, new_w)) * pad_value
new_arr[:, int((new_w - w) // 2):int((new_w - w) // 2)+w] = arr
return new_arr, (0, new_w - w)
else:
new_h = int(w * (target_h / target_w))
new_arr = np.ones((new_h, w)) * pad_value
new_arr[int((new_h - h) // 2):int((new_h - h) // 2) + h, :] = arr
return new_arr, (new_h - h, 0)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。