医学影像的原始高宽比很重要,如何在保证高宽比的情况下,实现图像大小调整呢?以下是一个案例代码:
def resize_with_padding(image, target_size=(512, 512), interploate_type=Image.NEAREST):
"""调整图像大小并使用填充保持宽高比"""
original_size = image.size
ratio = min(float(target_size[0]) / original_size[0], float(target_size[1]) / original_size[1])
new_size = tuple([int(x * ratio) for x in original_size])
image = image.resize(new_size, interploate_type)
new_image = Image.new("L", target_size)
new_image.paste(image, ((target_size[0] - new_size[0]) // 2, (target_size[1] - new_size[1]) // 2))
return new_image