中文手写体数据集

中文手写体数据集

  • 作者:Geticsen
  • 时间:2019-11-07
  • 30人已阅读
简介 手写体识别数据集整理

下面是一个中文手写体的数据集

训练集: http://www.nlpr.ia.ac.cn/databases/download/feature_data/HWDB1.1trn_gnt.zip

测试集: http://www.nlpr.ia.ac.cn/databases/download/feature_data/HWDB1.1tst_gnt.zip

下载以后得到:

image.png

分别解压以后得到如下文件:

image.png

image.png

解析gn文件的代码如下如下:

import struct
from PIL import Image
import os
count = 0
path = 'D:/毕业设计/geticsen/MachineLearning/37078 (1)/37078/chapter_10/datasets/'
 
for z in range(1001,1241):
	#1241-c.gnt
    ff = 'D:/毕业设计/geticsen/MachineLearning/37078 (1)/37078/chapter_10/datasets/HWDB1.1trn_gnt/HWDB1.1trn_gnt/' + str(z) + '-c.gnt'
    f = open(ff,'rb')
    print(z)
    #ifend = f.read(1)
    while f.read(1) != "":
        f.seek(-1,1)
        count += 1
        Data = f.read(4)
        try:
            struct.unpack('<I', Data) #length_bytes = 
        except :
            break
        #print(length_bytes)
        tag_code = f.read(2)
        #print(tag_code)
        width = struct.unpack('<H', f.read(2))[0]
        #print(width)
        height = struct.unpack('<H', f.read(2))[0]
        #print(height)
 
        im = Image.new('RGB',(width,height))
        img_array = im.load()
        #print img_array[0,7]
        for x in range(0,height):
            for y in range(0,width):
                pixel = struct.unpack('<B',f.read(1))[0]
                img_array[y,x]=(pixel,pixel,pixel)
        
        #print str(count)
        filename = str(count) + '.png'
        #filename = '/'+ tag_code + '/' +filename
        print(filename)
        if(os.path.exists(path + str(tag_code))):
            filename = path + str(tag_code) + '/' + filename
            im.save(filename)
            #f.close()
        else:
            os.makedirs(path + str(tag_code))
            filename = path + str(tag_code) + '/' + filename
            im.save(filename)
    f.close()

如上代码是解析训练集的数据的,你自己修改一下就可以解析测试集的数据了。这里说一下训练集由于过于的大所以被压缩成了alz的文件格式这种格式是三星开发的一种压缩格式,需要使用一个小工具来解压一下。

下载地址: https://www.geticsen.cn/Share/download/content/216.html

解压以后得到如下文件:

image.png


通过上面的poython程序解析得到了,如下文件:

image.png

每个文件夹是由不同人写的同一个汉字,测试集每个汉字有60个手写体,训练集每个汉字有240个手写体

image.png

文章评论

Top