SVHN门牌号数据集 再生成印刷体数据集

博主为解决MNIST数据集规模较小的问题,转向使用SVHN数据集,并通过利用其内置标签来提取数字,创建了一个专注于数字分类的新数据集。过程中遇到了MAT格式数据处理的挑战,计划将结果组织到0-9的单独文件夹中。
摘要由CSDN通过智能技术生成

正犯愁mnist数据集太小了,搜到了SVHN

看起来需要二次加工一下用数据集里面自带的既定事实标签把数字给抠出来

这样就是一个新的专门用来做数字分类的数据集

mat格式的数据真是对Python太不友好了

要建个文件夹这样直接就是写到了0-9的文件夹

import os
import h5py
from PIL import Image
%pylab inline
import cv2
import glob

def get_attrs(digit_struct_mat_file, index):
    """
    Returns a dictionary which contains keys: label, left, top, width and height, each key has multiple values.
    """
    attrs = {}
    f = digit_struct_mat_file
    item = f['digitStruct']['bbox'][index].item()
    for key in ['label', 'left', 'top', 'width', 'height']:
        attr = f[item][key]
        values = [f[attr.value[i].item()].value[0][0]
                  for i in range(len(attr))] if len(attr) > 1 else [attr.value[0][0]]
        attrs[key] = values
    return attrs

path_to_dir = '/home/nvidia/SVHN/train'
path_to_digit_struct_mat_file = os.path.join(path_to_dir, 'digitStruct.mat')

path_to_dir = '/home/nvidia/SVHN/train/'#存放图片的文件夹路径
paths = glob.glob(os.path.join(path_to_dir, '*.png'))
paths.sort()

num = 0
for i in paths:
    path_to_image_file = os.path.join(i)
    index = int(path_to_image_file.split('/')[-1].split('.')[0]) - 1
#     print(index, path_to_image_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值