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.