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/06/01 09:07] – [Les fonctions] tphilibertdiy:projets:vintage [2018/06/01 10:58] (Version actuelle) – [Solutions possibles et améliorations] tphilibert
Ligne 68: Ligne 68:
 \\ \\
 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.\\ 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 82: Ligne 83:
 \\ \\
 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 103: Ligne 105:
 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 121: Ligne 124:
 \\ \\
 La fonction prend deux masques //mask1// et //mask2// de même taille et renvoie le masque résultant de leur différence.\\ 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 193: Ligne 197:
 La fonction prend une image //img//.\\ 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 ''#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 214: 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''.\\ 
 \\ \\
  
Ligne 226: Ligne 243:
 </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.1527844070.txt.gz · Dernière modification : 2018/06/01 09:07 de tphilibert