生成人脸检测负样本

从sun数据集中选了几百张没有人的图像,用滑动窗口在这些图片上裁出背景图片作为人脸检测的负样本

有一个问题就是暂停后裁剪并没有停下来,自己一直也没注意。。。发现的时候裁剪的图片已经把硬盘塞满了


#人脸检测负样本生成
from PIL import Image
import os
#一个rec—width上滑动的步数
w_step=5
h_step=5

rec_width_list=[60,100,150,200]
rec_height_list=[70,120,180,240]

#裁剪图像并保存
def crop_and_save(rec_width,rec_height,k):
    
    w_step_num=round((width-rec_width)/(rec_width/w_step))
    h_step_num=round((height-rec_height)/(rec_height/h_step))
    

    y1=0
    for i in range(h_step_num):
        x1=0
        i=i+1
        for j in range(w_step_num):
            j=j+1
            k=k+1
            img.crop((x1,y1,x1+rec_width,y1+rec_height)).resize((50,50)).save(r'E:\negtive_img_crops\{}.jpg'.format(k))
            x1=x1+rec_width/w_step
        y1=y1+rec_height/h_step
        
    return k

m=0
n=0
for dir,folder,file in os.walk(r'E:\negative_img'):
    
    for i in file:
        m=m+1
#输出当前正在裁剪的图片名及已裁剪张数
        print(i)
        print(m)
        
        img = Image.open(os.path.join(r'E:\negative_img',i))
#        转为灰度图
        img=img.convert('L')
        height=img.size[1]
        width=img.size[0]
        
        for i in range(len(rec_width_list)):
            rec_width=rec_width_list[i]
            rec_height=rec_height_list[i]
            
            n=crop_and_save(rec_width,rec_height,n)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值