HWDB1.1数据集 | 手写汉字数据集 |.gnt 转换 .png格式图片| 【❤️有效转换❤️】
生活随笔
收集整理的這篇文章主要介紹了
HWDB1.1数据集 | 手写汉字数据集 |.gnt 转换 .png格式图片| 【❤️有效转换❤️】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??【專欄:數據集整理】?? 之【有效拒絕假數據】
👋 Follow me 👋,一起 Get 更多有趣 AI、沖沖沖 🚀 🚀
?? 如果文章對你有幫助、歡迎一鍵三連
我這里對其代碼做分析和使用說明:
這里是原作者代碼鏈接,感謝原作者PeppaPeppaPeppa
文章目錄
- 📔 .gnt 轉換 .png 教程如下
- 📕 gnt2png.py 文件代碼
- 📗 HWDB1.1數據集 .gnt格式數據快速獲取途徑如下
📔 .gnt 轉換 .png 教程如下
項目目錄結構如下:
- 請點擊這個鏈接 查看 ——alz 文件解壓 方法 教程,If you need…
- 或者 瀏覽最下方 HWDB1.1數據集 .gnt格式數據快速獲取途徑,后臺回復,即可直接獲取 gnt 文件
運行命令:
python gnt2png.py📕 gnt2png.py 文件代碼
只需替換 train_data_dir 和 test_data_dir 的路徑即可運行
import os import numpy as np import struct from PIL import Image # data文件夾存放轉換后的.png文件 data_dir = 'data' # 路徑為存放數據集解壓后的.gnt文件 train_data_dir = os.path.join('', 'wordDatas/trn_gnt') test_data_dir = os.path.join('', 'wordDatas/tst_gnt')def read_from_gnt_dir(gnt_dir=train_data_dir):def one_file(f):header_size = 10while True:header = np.fromfile(f, dtype='uint8', count=header_size)if not header.size: breaksample_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:breakimage = np.fromfile(f, dtype='uint8', count=width * height).reshape((height, width))yield image, tagcodefor file_name in os.listdir(gnt_dir):if file_name.endswith('.gnt'):file_path = os.path.join(gnt_dir, file_name)with open(file_path, 'rb') as f:for image, tagcode in one_file(f):yield image, tagcodechar_set = set() for _, tagcode in read_from_gnt_dir(gnt_dir=train_data_dir):tagcode_unicode = struct.pack('>H', tagcode).decode('gb2312')char_set.add(tagcode_unicode) char_list = list(char_set) char_dict = dict(zip(sorted(char_list), range(len(char_list)))) print(len(char_dict)) print("char_dict=", char_dict)import picklef = open('char_dict', 'wb') pickle.dump(char_dict, f) f.close() train_counter = 0 test_counter = 0 for image, tagcode in read_from_gnt_dir(gnt_dir=train_data_dir):tagcode_unicode = struct.pack('>H', tagcode).decode('gb2312')im = Image.fromarray(image) # 路徑為data文件夾下的子文件夾,train為存放訓練集.png的文件夾dir_name = 'data/train/' + '%0.5d' % char_dict[tagcode_unicode]print(dir_name)if not os.path.exists(dir_name):os.mkdir(dir_name)im.convert('RGB').save(dir_name + '/' + str(train_counter) + '.png')print("train_counter=", train_counter)train_counter += 1 print('Train transformation finished ...') for image, tagcode in read_from_gnt_dir(gnt_dir=test_data_dir):tagcode_unicode = struct.pack('>H', tagcode).decode('gb2312')im = Image.fromarray(image) # 路徑為data文件夾下的子文件夾,test為存放測試集.png的文件夾dir_name = 'data/test/' + '%0.5d' % char_dict[tagcode_unicode]if not os.path.exists(dir_name):os.mkdir(dir_name)im.convert('RGB').save(dir_name + '/' + str(test_counter) + '.png')print("test_counter=", test_counter)test_counter += 1 print('Test transformation finished ...')📗 HWDB1.1數據集 .gnt格式數據快速獲取途徑如下
- 我下載 HWDB1.1數據之后,把里面的 alz 格式的訓練數據 壓縮包,進行解壓之后得到 內部 .gnt 文件;
搜索關注本博客同名公號,公號后臺,回復
【 20201101 】 獲取本博文中的 HWDB1.1數據集解壓后的 gnt 文件云盤下載鏈接,下載之后,便可以直接使用上面代碼 把 .gnt 轉換 .png格式:
20201101Game Over ,感謝三連
總結
以上是生活随笔為你收集整理的HWDB1.1数据集 | 手写汉字数据集 |.gnt 转换 .png格式图片| 【❤️有效转换❤️】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 数据库导入导出文章
- 下一篇: 网站被恶意攻击了改怎么办?如何进行防护呢