yolov3中letterbox_image()解释 改变图片分辨率

本文详细介绍了YoloV3模型中的letterbox_image()函数,该函数用于在预处理阶段将输入图像调整到固定的分辨率,以适应模型要求。通过填充或裁剪图像,letterbox_image()保持原始宽高比,确保数据处理的一致性,对于深度学习和神经网络的训练至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import matplotlib.pyplot as plt
from PIL import Image

"""
# img = Image.new("RGB",(100,100))
# img_small = Image.new("RGB",(20,20),"red")
	# img.paste(img_small,(20,20))
	# plt.imshow(img)
	# plt.show()
	



	#https://blog.youkuaiyun.com/deliberate_cha/article/details/105843621
"""


image = Image.open('./Image/lbw.jpg')
	# plt.imshow(image)
	# plt.show()



def letterbox_image(image, size): #降低图片大小和分辨率
    """
    image:原始图片
    size:需要缩放成的大小

"""
	iw, ih = image.size
	w, h = size
	scale = min(w/iw, h/ih) #scale 框的大小与原图大小比值 小数

    nw = int(iw*scale)    #原图乘以 比值  获得新的图片大小
    nh = int(ih*scale)    #原图乘以 比值

    image = image.resize((nw,nh), Image.BICUBIC)     #将原始图片用Image.BICUBIC的方式进行缩放
    new_image = Image.new('RGB', size, (128,128,128))  # new 一张新的图片
    new_image.paste(image, ((w-nw)//2, (h-nh)//2))     #将新的图片贴在image上面

	return new_image  #返回
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值