python resize_深度学习图像预处理-python缩放裁剪

使用深度学习进行图像类任务时,通常网络的输入大小是固定的,最近在进行涉及到文字检测的工作中,由于预处理resize缩小了原图,导致字体变模糊,从而检测失败,后来想到使用overlap来对图像进行缩放裁剪,即先将原图缩放到一定尺寸,再裁剪得到网络的输入。

好了,来说正题,使用yolov3,网络的输入是352x352x3,而输入图像大小为几百上千不等,因此需对原图进行resize,起初直接进行缩放 + 填充,检测的map很低,后来分析发现有些352x352的输入图像中的文字已经很模糊,因此直接缩放的方案不可行,改进后方案如下:

  1. 原图最大尺寸大于1000,则resize到800x800,再裁剪为9个352x352,overlap为128个像素
  2. 原图最大尺寸大小500且小于1000,则resize到600x600,再裁剪为4个352x352,overlap为96个像素
  3. 原图最大尺寸小于500,则resize到352x352。

python实现代码如下,使用了PIL、opencv库,将整个目录下的图像全部做缩放裁剪处理,代码包含如下功能:

  1. 遍历某一目录的文件
  2. opencv进行图像载入及保存
  3. opencv进行缩放裁剪
  4. PIL进行图像显示
import 

执行python脚本,结果如下:

v2-6b50b14ca65a0af2ec754ac79d18dc5e_b.jpg

输入图片如下,分辨率为719x1280,裁剪后输出9幅352x352的子图,这样就完成了图像的预处理。

v2-dcedf95dc9a4711346a56ab9b91e8f54_b.jpg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值