Outils pour utilisateurs

Outils du site


diy:projets:vintage

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
diy:projets:vintage [2018/05/31 15:17] tphilibertdiy:projets:vintage [2018/06/01 10:58] (Version actuelle) – [Solutions possibles et améliorations] tphilibert
Ligne 66: Ligne 66:
 </code> </code>
 //lignes 9 à 21//\\ //lignes 9 à 21//\\
-La fonction prend une image //img// et renvoie un masque circulaire de centre //center// et de rayon //radius//.+\\ 
 +La fonction prend une image //img// et renvoie un masque circulaire de centre //center// et de rayon //radius// de la même taille que celle de l'image donnée.\\ 
 +\\
  
 **cappedValue**\\ **cappedValue**\\
Ligne 79: Ligne 81:
 </code> </code>
 //lignes 25 à 31//\\ //lignes 25 à 31//\\
-La fonction prend une valeur //value// et s'assure qu'elle appartienne à l'intervalle [//least,most//].+\\ 
 +La fonction prend une valeur //value// et s'assure qu'elle appartienne à l'intervalle [//least,most//].\\ 
 +\\
  
 **applyVariationToBGRPixel**\\ **applyVariationToBGRPixel**\\
Ligne 98: Ligne 102:
 </code> </code>
 //lignes 35 à 47//\\ //lignes 35 à 47//\\
 +\\
 La fonction prend un pixel \\pixel\\ (i.e. un objet à trois dimensions), une valeur \\var\\ et soustrait cette valeur uniformément aux valeurs que contient //pixel//.\\ La fonction prend un pixel \\pixel\\ (i.e. un objet à trois dimensions), une valeur \\var\\ et soustrait cette valeur uniformément aux valeurs que contient //pixel//.\\
 Si le booléen //withRNG// est vrai, à chaque instance de var lui sera ajouté une valeur aléatoire comprise dans l'intervalle [//low_rng,high_rng//].\\ Si le booléen //withRNG// est vrai, à chaque instance de var lui sera ajouté une valeur aléatoire comprise dans l'intervalle [//low_rng,high_rng//].\\
 +\\
  
 **maskDifference**\\ **maskDifference**\\
Ligne 116: Ligne 122:
 </code> </code>
 //lignes 51 à 61//\\ //lignes 51 à 61//\\
 +\\
 +La fonction prend deux masques //mask1// et //mask2// de même taille et renvoie le masque résultant de leur différence.\\
 +\\
  
 **vintage**\\ **vintage**\\
Ligne 185: Ligne 194:
 </code> </code>
 //lignes 65 à 128//\\ //lignes 65 à 128//\\
 +\\
 +La fonction prend une image //img//.\\
 +La partie ''#Useful Datas'' récupère la taille, la hauteur et la valeur de //img// et les place dans des variables.\\
 +La partie ''Get Canny edges'' trace les contours de l'image en niveaux de gris.\\
 +La partie ''Dilate edges'' [[https://fr.wikipedia.org/wiki/Morphologie_math%C3%A9matique#Dilatation_et_%C3%A9rosion|dilate]] ses contours.\\
 +La partie ''Thickening edge'' les désagrège de l'image originale.\\
 +La partie ''Speckle noise'' rajoute du [[https://fr.wikipedia.org/wiki/Bruit_num%C3%A9rique|bruit]] sur l'image.\\
 +La partie ''Sepia filter I'' applique un [[https://fr.wikipedia.org/wiki/S%C3%A9pia#Photographie|filtre sépia]] sur l'image.\\
 +La partie ''Toneing'' éclaircit une zone centrale de l'image.\\
 +La partie ''Sepia filter II'' applique à nouveau un filtre sépia.\\
 +La partie ''Gaussian Blur'' applique un [[https://fr.wikipedia.org/wiki/Lissage_d%27images#Filtre_gaussien|flou Gaussien à l'image]].\\
 +La partie ''Border'' génère des bordures à l'image.\\
 +La partie ''Return result'' retourne l'image ainsi changée.\\
 +\\
  
 **options**\\ **options**\\
Ligne 206: Ligne 229:
 </code> </code>
 //lignes 132 à 147//\\ //lignes 132 à 147//\\
 +Communique avec l'utilisateur pour récupérer certaines informations (notamment l'image à traiter).\\
 +__Remarque:__ uniquement si le programme a été lancé avec l'argument ''-o''.\\ 
 +\\
  
 **optionTime**\\ **optionTime**\\
Ligne 216: Ligne 242:
  print("Temps d'execution du programme:",time,"secondes")  print("Temps d'execution du programme:",time,"secondes")
 </code> </code>
-\\lignes 151 à 156\\//+//lignes 151 à 156//\\ 
 +Demande à afficher le temps //time// d'exécution du programme.\\ 
 +__Remarque:__ uniquement si le programme a été lancé avec l'argument ''-o''.\\  
 +\\
  
 ====Le main==== ====Le main====
-Il s'agit là aussi d'un  bout de code pas très passionnant. Il s'étend //lignes 115 jusqu'à la fin// et se résume à: +Le main ne s'occupe que des options (si argument ''-o''et de la fonction principale.
-  * Chargement des //classifiers//+
-  * Chargement du flash lumineux. +
-  * Débuter le traitement selon la méthode choisie, i.e: +
-    * Soit en appliquant la fonction puis en écrivant le résultat si le traitement est sur image fixe. +
-    * Soit en appliquant la fonction en continue et en l'affichant le résultat en temps réel jusqu'à pression de la touche ''Q''+
-  * Quitter.+
  
 ---- ----
 +=====Problèmes et améliorations=====
 +====Problèmes====
 +Le programme est particulièrement lent (~4s).
 +
 +====Solutions possibles et améliorations====
 +Doter le programme d'une meilleure algorithmie pour notamment virer des opérations en trop/peu utiles. Le réécrire en C++ serait aussi un bon moyen pour booster ses performances.\\
 +\\
 +Pour les améliorations possibles, on pourrait envisager du temps réel et une meilleure gestion d'arguments.\\
 +\\
 +\\
 +\\
 +----
 +//Merci pour votre attention.//\\ 
 +//[[thomas.philibert@univ-tlse3.fr|Philibert Thomas]]//
  
diy/projets/vintage.1527779832.txt.gz · Dernière modification : 2018/05/31 15:17 de tphilibert