Vectorisation d'images
- Lecture de l'image avec
matrgb = scipy.misc.imread(imagefile)
- passage en niveaux de gris avec
matgl = image_processing.Matriceniveauxdegris(matrgb)
; - ajout des bordures
matgl = image_processing.add_border(matgl)
; - filtrage: regroupement des couleurs (évite les dégradés)
matgl = image_processing.regroupement_couleur(matgl, seuil)
- premier ensemble de contours
contset = image_processing.contours_image(matgl, seuil)
- séparation des contours
separated_cont = []
for cont in contset:
separated_cont += image_processing.separate_all_contours(cont)
contset = set(separated_cont)
- suppression des doublons
image_processing.remove_double(contset)
- affinage des contours
for cont in contset:
cont.skinnier()
- points d'inflexion et de contrôle pour un contour:
curves = control_points.list_curves([cont])
suivi decurvemat = control_points.curves2curvemat(curves)
; - création d'un fichier svg
svgfile = writeSvg.SvgFile(svgname, dim)
- écriture du contour
svgfile.draw_contour(curvemat)
- fermeture du fichier
svgfile.close_svg()
Pour l'écriture d'un contour en pixels: svgfile.draw_contour_pix(cont)
avec cont
un contour.