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 14:48] – [Les fonctions] tphilibertdiy:projets:vintage [2018/06/01 10:58] (Version actuelle) – [Solutions possibles et améliorations] tphilibert
Ligne 65: Ligne 65:
  return circleMask  return circleMask
 </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// de la même taille que celle de l'image donnée.\\ 
 +\\
  
 **cappedValue**\\ **cappedValue**\\
Ligne 77: Ligne 80:
  return value  return value
 </code> </code>
-\\lignes 25 à 31\\//+//lignes 25 à 31//\\ 
 +\\ 
 +La fonction prend une valeur //value// et s'assure qu'elle appartienne à l'intervalle [//least,most//].\\ 
 +\\
  
 **applyVariationToBGRPixel**\\ **applyVariationToBGRPixel**\\
Ligne 95: Ligne 101:
  return pixel  return pixel
 </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//.\\ 
 +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 111: Ligne 121:
  return mask_diff  return mask_diff
 </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 180: Ligne 193:
  return img  return img
 </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 201: Ligne 228:
  return image,name_o  return image,name_o
 </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 212: 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.1527778080.txt.gz · Dernière modification : 2018/05/31 14:48 de tphilibert