Différences entre versions de « Projets:Image2Touch »
(Page créée avec « {{Infobox projet |Description=Logiciel permettant de transformer un schéma ou carte en couleurs en un modèle 3D à imprimer. |Porteur de projet=Francois LB |Fabmanager=D… ») |
|||
(11 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{Infobox projet | {{Infobox projet | ||
+ | |Image principale=ImageWikilab4 small.png | ||
|Description=Logiciel permettant de transformer un schéma ou carte en couleurs en un modèle 3D à imprimer. | |Description=Logiciel permettant de transformer un schéma ou carte en couleurs en un modèle 3D à imprimer. | ||
|Porteur de projet=Francois LB | |Porteur de projet=Francois LB | ||
Ligne 11 : | Ligne 12 : | ||
|Licence=autre | |Licence=autre | ||
|Autre licence=CECIL | |Autre licence=CECIL | ||
− | |Projet date= | + | |Projet date=2020-09-03 |
|Partenaires=Lab4i | |Partenaires=Lab4i | ||
|Nom humanlab=Humanlab_MHK | |Nom humanlab=Humanlab_MHK | ||
}} | }} | ||
== Description du projet == | == Description du projet == | ||
+ | |||
+ | Image2Touch est un logiciel permettant de charger une image (png, bmp, gif), et de générer un modèle 3D (stl) à partir de cette image. | ||
+ | Le modèle 3D généré, une fois imprimé en 3D, permet la "lecture" de cette image au toucher. | ||
+ | Le logiciel ne supporte pas les dégradés de couleur : les images utilisées doivent être composées d'aplats de couleurs. | ||
+ | |||
+ | |||
+ | Ainsi, cet outil transforme une image pour la convertir en objet en relief pour les personnes malvoyantes et aveugles. Il est utilisable par une personne déficiente visuel. En effet, l’IHM du logiciel a été développée avec la librairie WX python pour assurer un bon niveau d’accessibilité numérique. Ce logiciel est donc parfaitement utilisable sur PC avec le lecteur d’écran NVDA. | ||
== Cahier des charges == | == Cahier des charges == | ||
+ | |||
+ | Le but du projet est de réaliser un logiciel open-source permettant de : | ||
+ | * Charger une image représentant une carte ou un schéma, dans le plus grand nombre de formats possibles | ||
+ | * Générer au format STL un modèle 3D à partir de cette image pouvant être "lu" au toucher (sorte de bas-relief) | ||
+ | * Utiliser un lecteur d'écran pour son utilisation par une personne malvoyante | ||
+ | * Ajuster les paramètres de génération du modèle 3D | ||
== Analyse de l'existant et liens utiles== | == Analyse de l'existant et liens utiles== | ||
+ | |||
+ | Prototypes de génération de modèles 3D à partir de fichiers STL : | ||
+ | * [https://github.com/ACTIVmap/svg-to-stl svg-to-stl] par Jean-Marie Favreau | ||
+ | * [http://svg2stl.com/ svg2stl] Par Chris Landa | ||
+ | |||
+ | Sources d'images adaptées aux malvoyants : | ||
+ | * [https://dv-fabrique.fr/ DV-Fabrique] | ||
+ | * [https://inshea.fr INSHEA] | ||
== Matériel == | == Matériel == | ||
+ | |||
+ | L'utilisation du logiciel nécessite un ordinateur. | ||
+ | Bien que non nécessaire à l'utilisation du logiciel, l'impression du modèle généré nécessite d'avoir accès à une imprimante 3D. | ||
==Outils== | ==Outils== | ||
+ | |||
+ | Les outils principaux utilisés pour le développement de ce logiciel sont les suivants : | ||
+ | * Python 3.10 | ||
+ | * WxPython 4.2 | ||
+ | * Blender 3.4 | ||
==Coût== | ==Coût== | ||
+ | |||
+ | L'outil est disponible gratuitement. | ||
+ | Le seul coût à l'utilisation est celui de l'impression 3D. | ||
==Fichiers source== | ==Fichiers source== | ||
+ | |||
+ | Les fichiers sources sont disponibles sur [https://github.com/myhumankit/Image2Touch GitHub]. | ||
+ | Les fichiers sont disponibles sur GitHub : | ||
+ | |||
+ | *Les sources : https://github.com/myhumankit/Image2Touch | ||
+ | *L’exécutable pour windows 10 (release) : https://github.com/myhumankit/Image2Touch/releases/tag/v1.0.1/Image2Touch_1-0-1.zip | ||
+ | *Les fichiers d'exemple : Le STL et le JPEG : [[File:image2touch_fichiers_exemple.zip|Télécharger le STL et le JPG]] | ||
+ | |||
+ | |||
+ | '''Note''' : vérifier la presence d’éventuelles mises à jour dans le dépôt. | ||
+ | |||
+ | |||
+ | Se reporter à la documentation fournie dans le fichier Readme disponible sur ces dépôts. Le menu aide de l’application apportera des informations complémentaires à l’utilisateur. | ||
==Etapes de fabrication pas à pas== | ==Etapes de fabrication pas à pas== | ||
+ | |||
+ | Une archive est disponible au téléchargement sur [https://github.com/myhumankit/Image2Touch/releases GitHub]. | ||
+ | Elle doit être extraite dans un dossier vide. | ||
+ | L'exécutable qu'elle contient permet d'utiliser le programme. | ||
+ | |||
+ | Pour garantir les meilleurs résultats, choisir une image selon les critères suivants : | ||
+ | * Une image pas trop petite pour éviter la pixellisation | ||
+ | * Une image avec des aplats de couleurs. Eviter les dégradés de couleurs, les photos... | ||
+ | * Une image sans lignes fines. Si votre image contient des lignes fines, le mieux est de les enlever ou de les épaissir à la main avant utilisation du logiciel. | ||
+ | * Une image qui ne contient pas trop de couleurs différentes. Attention, certaines images contiennent beaucoup de couleurs similaires, qui semblent identiques de loin. | ||
+ | |||
+ | Pour convertir une image, la procédure est la suivante : | ||
+ | * Ouvrez le programme (Image2Touch.exe) et attendez que l'interface apparaisse | ||
+ | * Cliquez sur "Open a file..." (Alt+O), et choisissez l'image à convertir, puis cliquez sur "OK". | ||
+ | * Attendez que l'image soit traitée (cela peut prendre de quelques secondes à une minute). La barre de progression indique l'avancement de cette tâche. | ||
+ | * Si besoin, ajustez les hauteurs associées à chaque couleur. Ces hauteurs ne sont pas en millimètres, mais sont des valeurs arbitraires qui seront ensuite mises à l'échelle en fonction de l'épaisseur choisie. Par défaut, les couleurs les plus représentées sur l'image ont les hauteurs les plus faibles, afin d'économiser de la matière. | ||
+ | * Changez les dimensions du modèle généré | ||
+ | * Sélectionnez le ou les formats de sortie (fichiers STL et/ou BLEND) | ||
+ | * Cliquez sur "Generate" (Alt+G). | ||
+ | * Attendez que le fichier soit généré. Cela peut prendre jusqu'à quelques minutes. La barre de progression indique l'avancement de cette tâche. | ||
+ | * Récupérez les fichiers générés, placés à côté de l'image initiale. | ||
==Retours utilisateurs== | ==Retours utilisateurs== | ||
+ | |||
+ | Pour l'instant, seul François a testé le logiciel. | ||
+ | Ses retours sont positifs, attestant de la capacité du logiciel à être utilisé par des malvoyants, ainsi que de la qualité des modèles générés. | ||
+ | |||
+ | ==Perspectives== | ||
+ | |||
+ | Les perspectives d'amélioration pour le projet sont les suivantes : | ||
+ | * Tester le programme sur une plus grande variété d'images (par exemple, des images en niveaux de gris), et améliorer la génération 3D en conséquence | ||
+ | * Améliorer la détection des couleurs. Cette détection peut être lente et donne parfois trop de couleurs, en particulier avec des images en niveaux de gris. | ||
+ | * Permettre de réaliser des surfaces texturées (hachurées par exemple) en plus des surfaces planes. Chaque couleur pourrait être associée à une texture. | ||
+ | * Permettre d'ignorer certaines couleurs, par exemple pour éliminer les lignes fines | ||
+ | * Permettre au programme de gérer automatiquement les lignes fines | ||
+ | * Effectuer une démarche UX pour rendre l'outil plus facile d'utilisation | ||
+ | * Ajouter plus de paramètres pour l'utilisation du programme en ligne de commande | ||
+ | * Permettre de sauvegarder et charger des paramètres de génération (par exemple dans un fichier xml, ou json) | ||
+ | * Intégrer un support pour une conversion du texte en braille. Cette fonctionnalité semble difficile mais pourrait être réalisable. | ||
+ | * Diminuer la taille de l'exécutable en utilisant les scripts Blender de l'environnement. En effet, l'environnement python est intégré à l'exécutable, mais pour l'instant les scripts Blender doivent être placés à côté pour être détectés. | ||
+ | * Etudier la possibilité d'utilisation du programme sous Linux. | ||
+ | * Utiliser GitHub actions pour générer automatiquement l'exécutable pour chaque nouvelle version, plutôt que de le fournir manuellement | ||
+ | |||
+ | |||
+ | [[Category:Inauguration]] |
Version actuelle datée du 9 juin 2024 à 23:17
Image2Touch | |
---|---|
Informations | |
Description | Logiciel permettant de transformer un schéma ou carte en couleurs en un modèle 3D à imprimer. |
Catégorie | Malvoyance |
Etat d'avancement | En cours |
Techniques | modélisation 3d |
Durée de fabrication | |
Coût matériel | |
Niveau | |
Licence | autre: CECIL |
Date de création | 2020-09-03 |
Équipe | |
Porteur de projet | Francois LB |
Contributeurs | |
Fabmanager | Delphine |
Référent documentation | Delphine |
Partenaires: | Lab4i |
Nom humanlab | Humanlab_MHK |
Documentation | |
Statut de la documentation | Partielle |
Relecture de la documentation | Non vérifiée |
Description du projet
Image2Touch est un logiciel permettant de charger une image (png, bmp, gif), et de générer un modèle 3D (stl) à partir de cette image. Le modèle 3D généré, une fois imprimé en 3D, permet la "lecture" de cette image au toucher. Le logiciel ne supporte pas les dégradés de couleur : les images utilisées doivent être composées d'aplats de couleurs.
Ainsi, cet outil transforme une image pour la convertir en objet en relief pour les personnes malvoyantes et aveugles. Il est utilisable par une personne déficiente visuel. En effet, l’IHM du logiciel a été développée avec la librairie WX python pour assurer un bon niveau d’accessibilité numérique. Ce logiciel est donc parfaitement utilisable sur PC avec le lecteur d’écran NVDA.
Cahier des charges
Le but du projet est de réaliser un logiciel open-source permettant de :
- Charger une image représentant une carte ou un schéma, dans le plus grand nombre de formats possibles
- Générer au format STL un modèle 3D à partir de cette image pouvant être "lu" au toucher (sorte de bas-relief)
- Utiliser un lecteur d'écran pour son utilisation par une personne malvoyante
- Ajuster les paramètres de génération du modèle 3D
Analyse de l'existant et liens utiles
Prototypes de génération de modèles 3D à partir de fichiers STL :
- svg-to-stl par Jean-Marie Favreau
- svg2stl Par Chris Landa
Sources d'images adaptées aux malvoyants :
Matériel
L'utilisation du logiciel nécessite un ordinateur. Bien que non nécessaire à l'utilisation du logiciel, l'impression du modèle généré nécessite d'avoir accès à une imprimante 3D.
Outils
Les outils principaux utilisés pour le développement de ce logiciel sont les suivants :
- Python 3.10
- WxPython 4.2
- Blender 3.4
Coût
L'outil est disponible gratuitement. Le seul coût à l'utilisation est celui de l'impression 3D.
Fichiers source
Les fichiers sources sont disponibles sur GitHub. Les fichiers sont disponibles sur GitHub :
- Les sources : https://github.com/myhumankit/Image2Touch
- L’exécutable pour windows 10 (release) : https://github.com/myhumankit/Image2Touch/releases/tag/v1.0.1/Image2Touch_1-0-1.zip
- Les fichiers d'exemple : Le STL et le JPEG : Fichier:Image2touch fichiers exemple.zip
Note : vérifier la presence d’éventuelles mises à jour dans le dépôt.
Se reporter à la documentation fournie dans le fichier Readme disponible sur ces dépôts. Le menu aide de l’application apportera des informations complémentaires à l’utilisateur.
Etapes de fabrication pas à pas
Une archive est disponible au téléchargement sur GitHub. Elle doit être extraite dans un dossier vide. L'exécutable qu'elle contient permet d'utiliser le programme.
Pour garantir les meilleurs résultats, choisir une image selon les critères suivants :
- Une image pas trop petite pour éviter la pixellisation
- Une image avec des aplats de couleurs. Eviter les dégradés de couleurs, les photos...
- Une image sans lignes fines. Si votre image contient des lignes fines, le mieux est de les enlever ou de les épaissir à la main avant utilisation du logiciel.
- Une image qui ne contient pas trop de couleurs différentes. Attention, certaines images contiennent beaucoup de couleurs similaires, qui semblent identiques de loin.
Pour convertir une image, la procédure est la suivante :
- Ouvrez le programme (Image2Touch.exe) et attendez que l'interface apparaisse
- Cliquez sur "Open a file..." (Alt+O), et choisissez l'image à convertir, puis cliquez sur "OK".
- Attendez que l'image soit traitée (cela peut prendre de quelques secondes à une minute). La barre de progression indique l'avancement de cette tâche.
- Si besoin, ajustez les hauteurs associées à chaque couleur. Ces hauteurs ne sont pas en millimètres, mais sont des valeurs arbitraires qui seront ensuite mises à l'échelle en fonction de l'épaisseur choisie. Par défaut, les couleurs les plus représentées sur l'image ont les hauteurs les plus faibles, afin d'économiser de la matière.
- Changez les dimensions du modèle généré
- Sélectionnez le ou les formats de sortie (fichiers STL et/ou BLEND)
- Cliquez sur "Generate" (Alt+G).
- Attendez que le fichier soit généré. Cela peut prendre jusqu'à quelques minutes. La barre de progression indique l'avancement de cette tâche.
- Récupérez les fichiers générés, placés à côté de l'image initiale.
Retours utilisateurs
Pour l'instant, seul François a testé le logiciel. Ses retours sont positifs, attestant de la capacité du logiciel à être utilisé par des malvoyants, ainsi que de la qualité des modèles générés.
Perspectives
Les perspectives d'amélioration pour le projet sont les suivantes :
- Tester le programme sur une plus grande variété d'images (par exemple, des images en niveaux de gris), et améliorer la génération 3D en conséquence
- Améliorer la détection des couleurs. Cette détection peut être lente et donne parfois trop de couleurs, en particulier avec des images en niveaux de gris.
- Permettre de réaliser des surfaces texturées (hachurées par exemple) en plus des surfaces planes. Chaque couleur pourrait être associée à une texture.
- Permettre d'ignorer certaines couleurs, par exemple pour éliminer les lignes fines
- Permettre au programme de gérer automatiquement les lignes fines
- Effectuer une démarche UX pour rendre l'outil plus facile d'utilisation
- Ajouter plus de paramètres pour l'utilisation du programme en ligne de commande
- Permettre de sauvegarder et charger des paramètres de génération (par exemple dans un fichier xml, ou json)
- Intégrer un support pour une conversion du texte en braille. Cette fonctionnalité semble difficile mais pourrait être réalisable.
- Diminuer la taille de l'exécutable en utilisant les scripts Blender de l'environnement. En effet, l'environnement python est intégré à l'exécutable, mais pour l'instant les scripts Blender doivent être placés à côté pour être détectés.
- Etudier la possibilité d'utilisation du programme sous Linux.
- Utiliser GitHub actions pour générer automatiquement l'exécutable pour chaque nouvelle version, plutôt que de le fournir manuellement