[Python] linguaggio braille
Daniele Zambelli
daniele.zambelli a gmail.com
Ven 3 Apr 2020 17:14:06 CEST
Il giorno ven 3 apr 2020 alle ore 16:29 Matteo Perini
<perini.matteo a gmail.com> ha scritto:
> [...]
> > Io tempo addietro avevo scritto un programmino che partiva da un .png
> > e produceva il file in rilievo per la stampante 3D.
> > Se ti può servire posso andare a ricercarlo e condividerlo.
>
> Matteo:
>
> Interessante, usavi il livello del colore per capire dove c'erano i
> punti e dove no?
Sì, usavo i seguenti pacchetti:
[...]
import os
from pylab import imread
from stl_tools import numpy2stl
from scipy.ndimage import gaussian_filter
[...]
E la funzione principale è la seguente:
def png2gcode(filename, pngdir=PNGDIR, stldir=STLDIR, gcodedir=GCODEDIR):
"""read png file write stl file and gcode file."""
pngfilename = os.path.join(pngdir, filename + '.png')
stlfilename = os.path.join(stldir, filename + '.stl')
gcodefilename = os.path.join(gcodedir, filename + '.gcode')
if (not os.path.exists(stlfilename) or
os.path.getmtime(pngfilename) > os.path.getmtime(stlfilename)):
print('reading', pngfilename)
img = 256 * (1 - imread(pngfilename))
img = img[:, :, 2] + 1.0*img[:, :, 0] # Compose RGBA channels to depth
img = gaussian_filter(img, 2) # smoothing
print('writing', stlfilename)
numpy2stl(img, stlfilename, scale=0.05, mask_val=None, solid=True,
min_thickness_percent=.2)
if (not os.path.exists(gcodefilename) or
os.path.getmtime(stlfilename) > os.path.getmtime(gcodefilename)):
print('writing', gcodefilename)
os.system('repsnapper -t -i {} -o {}'.format(stlfilename,
Ciao.
--
Daniele
www.fugamatematica.blogspot.com
giusto!
nel verso
forse è perché non guardiamo le cose
Quando non ci capiamo,
Maggiori informazioni sulla lista
Python