首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Python绘制Google QuickDraw数据集?

如何用Python绘制Google QuickDraw数据集?
EN

Stack Overflow用户
提问于 2020-02-04 04:09:23
回答 2查看 658关注 0票数 0

我已经从QuickDraw数据集(JSON格式)中提取了笔画数据,但是我不知道如何用Python来绘制它。我试过几次,但一点也不起作用。我需要在Python中绘制笔画的帮助。以下是提取笔画数据的代码:

代码语言:javascript
复制
import json
file = open(filepath)
lines = file.readlines()

data = json.loads(lines[0])
strokes = data['drawing']
x = strokes[0][0]
y = strokes[0][1]

以下文本是数据文件的第一行:

代码语言:javascript
复制
{"word":"airplane","countrycode":"US","timestamp":"2017-03-08 21:12:07.26604      UTC","recognized":true,"key_id":"5152802093400064","drawing":[[[167,109,80,69,58,31,57,117,99,52,30,6,1,2,66,98,253,254,246,182,165],[140,194,227,232,229,229,206,124,123,149,157,159,153,110,82,77,74,109,121,127,120]],[[207,207,210,221,238],[74,103,114,128,135]],[[119,107,76,70,49,39,60,93],[72,41,3,0,1,5,38,70]]]}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-02 23:06:08

除了Swati的答案之外,还有一个quickdraw python package可以简化这一操作:

代码语言:javascript
复制
from quickdraw import QuickDrawData

qd = QuickDrawData()

anvil = qd.get_drawing("anvil")
anvil.image.show()

如果要手动执行,可以对所有x值和y值进行zip()并呈现(使用PIL或其他任何方法):

代码语言:javascript
复制
import json
from PIL import Image, ImageDraw

# read ndjson lines
lines = open('full_simplified_cat.ndjson','r').readlines()
# grab the first line, JSON parse it and fetch the 'drawing' array
raw_drawing = json.loads(lines[0])['drawing']

print('before',raw_drawing)
# zip x,y coordinates for each point in every polyline
polylines = (zip(polyline[0], polyline[1]) for polyline in raw_drawing)
# notice how the data is shuffled to (x1,y1),(x2,y2) order
print('after',polylines)

# make a new image
pil_img = Image.new("RGB", (240, 270), (255,255,255))
# get a drawing context
d = ImageDraw.Draw(pil_img)
# render each polyline
for polyline in polylines:
    d.line(polyline,fill=(0, 0, 0),width=3)
# display image
pil_img.show()
票数 1
EN

Stack Overflow用户

发布于 2020-02-04 06:49:46

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60050452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档