quick draw数据集

这段代码实现了将.ndjson文件转换为.json文件,并对数据进行处理,包括将json数据转化为图像并保存为.png格式。首先,使用Node.js的ndjson库解析.ndjson文件,然后将数据保存为.json。接着,代码遍历.json文件中的绘图数据,生成对应的.png图像。最后,对于.npy文件,同样读取数据并转换为.png图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.ndjson转为.json

var fs = require('fs');
var ndjson = require('ndjson'); // npm install ndjson

function parseSimplifiedDrawings(fileName, callback) {
  var drawings = [];
  var fileStream = fs.createReadStream(fileName)
  fileStream
    .pipe(ndjson.parse())
    .on('data', function(obj) {
      drawings.push(obj)
    })
    .on("error", callback)
    .on("end", function() {
      callback(null, drawings)
    });
}

parseSimplifiedDrawings("G:/quickdraw/full_simplified_airplane.ndjson", function(err, drawings) {
  if(err) return console.error(err);
  drawings.forEach(function(d) {
    // Do something with the drawing
    console.log(d.key_id, d.countrycode);
  })
  console.log("# of drawings:", drawings);
  var filename = "G:/quickdraw/full_simplified_airplane.json";//这里保存
  fs.writeFileSync(filename, JSON.stringify(drawings));//这里保存
})

打开cmd,node test.js

json转png


import json
from scipy import interpolate
import pylab as pl
f = open("G:/quickdraw/full_simplified_airplane.json")
setting = json.load(f)
for j in range(0,len(setting)): #转化保存1000个图
    for i in range(0,len(setting[j]['drawing'])):
        x = setting[j]['drawing'][i][0]
        y = setting[j]['drawing'][i][1]
        f=interpolate.interp1d(x,y,kind="slinear")
        pl.plot(x,y,'k')
    ax = pl.gca()
    ax.xaxis.set_ticks_position('top')
    ax.invert_yaxis()
    pl.axis('off')
    pl.savefig("G:/quickdraw/data/%d.png"%j)
    pl.close()

.npy转png

import matplotlib.pyplot as plt
import numpy as np
import scipy.misc
import os

file_dir = "G:/quickdraw/"  # npy文件路径
dest_dir = "G:/quickdraw/data1/"  # 文件存储的路径


def npy_png(file_dir, dest_dir):
    # 如果不存在对应文件,则创建对应文件
    if not os.path.exists(file_dir):
        os.makedirs(file_dir)
    if not os.path.exists(dest_dir):
        os.makedirs(dest_dir)

    file = file_dir + 'airplane.npy'  # npy文件
    con_arr = np.load(file)  # 读取npy文件
    for i in range(0, 151623):  # 图片张数
        arr = con_arr[i, :]  # 获得第i张的单一数组
        disp_to_img = arr.reshape(28, 28)  # 根据需要的尺寸进行修改
        plt.imsave(os.path.join(dest_dir, "{}_disp.png".format(i)), disp_to_img, cmap='plasma')  # 定义命名规则,保存图片为彩色模式
        print('photo {} finished'.format(i))


if __name__ == "__main__":
    npy_png(file_dir, dest_dir)



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_lld

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值