Laser Scanner 3D SkanDal Logiciel

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher


Développé sous Linux Mint 15, python 3.3 et opencv 3.0.

Ressources python-opencv

FAQ

Pourquoi python ?

  • Qu’est-ce qu’on peut faire avec Python ?
  • Les scripts sont simples, facilement modifiables, un scan se fait en plusieurs étapes avec enregistrement de fichiers de sortie (images, textes, PLY) qui permettent de tester des modifications.

Pourquoi Zen ? Extrait du PEP 20:

  • Préfèrer le beau au laid,
  • ...
  • Il doit y avoir une – et si possible une seule – façon évidente de procéder,
  • même si cette façon n’est pas évidente à première vue, à moins d’être Hollandais.
  • Mieux vaut maintenant que jamais,
  • même si jamais est souvent mieux qu’immédiatement.

Le 21 ème:

  • Venez sauver l'humanité lors des Open Atelier avec Labomedia.

Pourquoi python 3.3?

Pour être maintenable à long terme.

Simplement

Des scripts exécutables en console, une interface graphique simple, une Programmation Orienté Objet abordable. Pour que les scripts restent très simples, facilement compréhensible pour des novices en python, facilement testables, adaptables et modifiables. De toute façon, je ne sais pas faire compliqué.

L'interface graphique est un terminal, qui ouvre des fenêtres OpenCV avec des sliders.

Ce projet est destiné à être partagé.

Pourquoi Opencv ?

  • OpenCV
  • OpenCV sur Wikipédia OpenCV (pour Open Computer Vision) est une bibliothèque graphique libre, initialement développée par Intel, spécialisée dans le traitement d'images en temps réel. La société de robotique Willow Garage assure le support de cette bibliothèque depuis 2008.

Cette bibliothèque est distribuée sous licence BSD.

C'est puissant, rapide, parfaitement adapté au besoin.

Pourquoi numpy ?

OpenCV utilise des tableaux numpy qui sont optimisés en mémoires. Des tableaux python conduirait à faire les calculs en 2 heures au lieu de 20 secondes.

Installation pour python 2.7 et OpenCV 2.4.8

sudo apt-get install uvcdynctrl python-numpy python-serial python-opencv meshlab arduino

Installation pour python 3 et OpenCV 3.0

Dépendances

sudo apt-get install python3-numpy python3-serial uvcdynctrl meshlab arduino

Compilation Opencv 3.0

Tous les problèmes ici.

Arduino

Aller dans le dossier /skandal/sketchbook/skandal/ Ouvrir skandal.ino avec arduino, puis téléverser dans votre carte.

Ajout du user:

sudo usermod -a -G dialout votre_user

Redémarrer.

Sources avec python 2.7 et OpenCV 2.4.2

Tous les scripts sont en license GPL V2.

Sources avec python 3.3 et OpenCV 3.0

Cette version n'est pas actualisée actuellemnent Tous les scripts sont en license GPL V2.

Utilisation en terminal

Dans Skandalx.x-master, rendre éxécutable le fichier scan, le lancer en terminal.

Le nom du projet ne peut contenir que des lettres, les autres caractères seront supprimés.

Votre fichier ply sera dans work/ply/ et meshlab doit s'ouvrir automatiquement.

Numéro de device video

Il faut modifier le fichier skandal/scan.ini

video = 0

ou

video = 1

Bonus: Adapter les scripts python2.7 pour python3

config.py

  • ligne 27 ConfigParser devient configparser
  • ligne 72 ajouter une ligne 73 avec name = str(name)[1:] pour supprimer le u de unicode devant le string

skandal.py

  • ligne 115 et 148 164 raw_input devient input

lanceur sh

  • python3 au lieu de python