[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