HWDB1.1数据集.gnt转换成.png

参考链接:https://blog.csdn.net/PeppaPeppaPeppa/article/details/89034376

HWDB1.1下载:http://www.nlpr.ia.ac.cn/databases/handwriting/Offline_database.html

在这里插入图片描述
下载获得文件1,将文件1解压获得文件2,再将文件2解压获得.gnt文件,再将单个gnt文件转换为png

代码:

import os
import numpy as np
import struct
from PIL import Image

if __name__ == "__main__":
    f = open('D:\\word\\gnt\\1001-c.gnt', 'rb') # 读入一份gnt文件
    header_size = 10
    while True:
        header = np.fromfile(f, dtype='uint8', count=header_size)
        if not header.size: break
        sample_size = header[0] + (header[1] << 8) + (header[2] << 16) + (header[3] << 24)
        tagcode = header[5] + (header[4] << 8)
        width = header[6] + (header[7] << 8)
        height = header[8] + (header[9] << 8)
        if header_size + width * height != sample_size:
            break
        image = np.fromfile(f, dtype='uint8', count=width * height).reshape((height, width))
        tagcode_unicode = struct.pack('>H', tagcode).decode('gb2312') # 图片对应的汉字

        im = Image.fromarray(image)
        file_dir = 'D:\\word\\png\\' + tagcode_unicode;
        if not os.path.exists(file_dir):
            os.mkdir(file_dir)

        file_lists = os.listdir(file_dir)

        im.convert('RGB').save(file_dir + '\\' + str(len(file_lists)) + '.png')

转换结果
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值