.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)