Quick Draw é um jogo de desenho que treina uma rede neural para reconhecer rabiscos.
quickdraw
é uma API Python para acessar os dados do Quick Draw - ele baixa os arquivos de dados como e quando necessário, armazena-os em cache localmente e os interpreta para que possam ser usados.
Criado por Martin O'Hanlon (@martinohanlon, stuffaboutco.de).
Instale a biblioteca python quickdraw usando pip.
pip install quickdraw
pip3 install quickdraw
sudo pip3 install quickdraw
Aqui estão alguns exemplos de como usar quickdraw
, mas não deixe de conferir também a documentação da API para obter mais informações.
Abra os dados do Quick Draw usando QuickDrawData e retire o desenho de uma bigorna .
from quickdraw import QuickDrawData
qd = QuickDrawData ()
anvil = qd . get_drawing ( "anvil" )
print ( anvil )
quickdraw
irá baixar o arquivo de dados anvil.bin
e retornar os dados para um desenho aleatório de uma bigorna (bem, um rabisco de uma bigorna, de qualquer maneira).
Os desenhos são retornados como objetos QuickDrawing que expõem as propriedades do desenho.
print ( anvil . name )
print ( anvil . key_id )
print ( anvil . countrycode )
print ( anvil . recognized )
print ( anvil . timestamp )
print ( anvil . no_of_strokes )
print ( anvil . image_data )
print ( anvil . strokes )
Você pode salvar o desenho usando a propriedade image
.
anvil . image . save ( "my_anvil.gif" )
Você pode salvar uma animação do desenho usando a propriedade animation
.
anvil . animation . save ( "my_anvil_animation.gif" )
Você pode abrir um grupo de desenhos do Quick Draw usando QuickDrawDataGroup passando o nome do desenho ("bigorna", "aeronave", "beisebol", etc).
from quickdraw import QuickDrawDataGroup
anvils = QuickDrawDataGroup ( "anvil" )
print ( anvils . drawing_count )
print ( anvils . get_drawing ())
Por padrão, apenas 1000 desenhos são abertos, você pode alterar isso modificando o parâmetro max_drawings
do QuickDrawDataGroup, definindo-o como None
abrirá todos os desenhos desse grupo.
from quickdraw import QuickDrawDataGroup
anvils = QuickDrawDataGroup ( "anvil" , max_drawings = None )
print ( anvils . drawing_count )
Para percorrer todos os desenhos de um grupo, use o gerador de desenhos.
from quickdraw import QuickDrawDataGroup
qdg = QuickDrawDataGroup ( "anvil" )
for drawing in qdg . drawings :
print ( drawing )
Você pode obter uma lista de todos os nomes de desenhos usando a propriedade drawing_names de QuickDrawData.
from quickdraw import QuickDrawData
qd = QuickDrawData ()
print ( qd . drawing_names )
Exemplos de código podem ser encontrados no repositório Quickdraw GitHub.
A documentação da API pode ser encontrada em quickdraw.readthedocs.io
Os desenhos foram moderados, mas não há garantia de que serão realmente uma imagem do que você está pedindo (embora na minha experiência sejam)!
Estável .
Levante quaisquer problemas no repositório do github.