图片预处理和图片扩增(将一张图片按照固定步长分为4张)

本文介绍了一种避免图像变形的预处理方法,通过按比例缩放输入图片并将其按照固定步长分为多张,实现图片扩增。在`image_processing.py`中,作者封装了一个类来处理图片,利用glob函数获取文件夹下所有图片,并根据长宽比计算剪裁参数,以短边为基准在长边上进行剪裁,生成四张新图片。运行文件则遍历多个子文件夹,按原结构保存扩增后的图片。在实际模型训练时,还需结合其他预处理技术。

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

这几天在读一篇论文,文中提到“当目标图像与原始图像的长宽比不同时,传统的归一化方法会使图像变形”,它提出一种按照目标图片(模型的输入)的比例缩放输入图片,步骤如下图所示:

在这里插入图片描述
我将上述方法进行了复现,分为两给py文件,一个是处理文件,一个是运行文件。
1.处理文件:image_processing.py
我将处理文件封装成了类,便于使用,如下。需要说明的一点是,cv2.imwrite(path,img)无法处理带有中文的路径,只能 cv2.imencode()了。
思路:(这个py文件可以单独运行)
(1)首先使用glob()函数获得一个文件夹下的所有图片文件的地址,它的返回值就是一个列表,超级好用,不用自己再写for循环手动将文件地址添加到列表中(可以对比接下来的另一个py文件,那个是手动添加的)
(2)之后处理每一个单独的文件,获取改文件的长边和短边,按照上图中的公式计算出len和step(文中step是4,因为文中再计算步长时除以了3,这个含义是说将长边和短边的差平均分为3份,每此剪裁走一份大小(len值),分3步剪裁完,加上最开始切割的i一步,一共是四步,如下午所示。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值