94 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html>
 | |
| <head>
 | |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 | |
| <title>libimage: les filtrages</title>
 | |
| <link rel="stylesheet" type="text/css" href="libimage.css">
 | |
| <meta name="generator" content="Vim et huile de phalange">
 | |
| <meta name="keywords" content="libimage, krabulator, Boudet, filtres,
 | |
| gradient, sobel">
 | |
| </head>
 | |
| 
 | |
| <body>
 | |
| 
 | |
| <a name="top"><h1>libimage / les filtrages</h1></a>
 | |
| 
 | |
| <p align=center>
 | |
| <tt>dernière mise à jour: 28 novembre 2013</tt><br>
 | |
| </p>
 | |
| 
 | |
| <p class="menuhaut">
 | |
| [<a href="libimage.html">libimage</a>]
 | |
| [<a href="#filtres">filtres</a>]
 | |
| [<a href="#liens">liens</a>]
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| Les filtres de base sont définis par un tableau de 11 entiers.
 | |
| Les 9 premiers représentent la matrice 3x3, le 10ème est le diviseur, et le
 | |
| 11ème est l'offset ajouté à la fin du calcul. Il y a une fonction qui permet
 | |
| d'afficher ces valeurs. On trouvera également des filtres classiques
 | |
| appelables directement.
 | |
| </p>
 | |
| 
 | |
| 
 | |
| <a name="filtres"><h2>filtres</h2></a>
 | |
| 
 | |
| <dl class="proto">
 | |
| 
 | |
| <dt>int Image_convolueur3(Image_Desc *in, Image_Desc *out, int *mat);
 | |
| <dd> <i>Je ne sais pas si le nom 'convolueur' est bien adapté...</i>
 | |
| 
 | |
| <dt>int Image_lissage_3x3(Image_Desc *in, Image_Desc *out);
 | |
| <dd> Moyennage des pixels sur la matrice 3x3.
 | |
| 
 | |
| <dt>void Image_filtre_display(FILE *ou, int *mat);
 | |
| <dd>Affichage des valeurs d'un filtre. <tt>ou</tt> précise à quel endroit 
 | |
|    l'envoyer. Vous pouvez utiliser <tt>stdout</tt>, <tt>stderr</tt>
 | |
|    ou un fichier que vous avez préalablement ouvert. 
 | |
| 
 | |
| <dt>int
 | |
| Image_filtre_random(Image_Desc *src, Image_Desc *dst, int p1, int p2);
 | |
| <dd>Les 9 coefficients du filtre sont choisis au hasard entre p1 et p2.
 | |
| N'oubliez pas d'appeller <i>srand(getpid())</i> si vous obtenez la même
 | |
| chose à chaque course :-)
 | |
| 
 | |
| <dt>int Image_filtre_passe_bas(Image_Desc *in, Image_Desc *out);
 | |
| <dd>parfois, il m'arrive de me demander si ce filtre n'est pas équivalent
 | |
|  au lissage 3x3...
 | |
| 
 | |
| <dt>int Image_filtre_passe_haut(Image_Desc *in, Image_Desc *out);
 | |
| <dd>euh...
 | |
| 
 | |
| <dt>int Image_filtre_Prewitt(Image_Desc *src, Image_Desc *dst, int rotation);
 | |
| <dd>C'est un filtre directionnel, et le paramètre <tt>rotation</tt> permet
 | |
| de le faire tourner.
 | |
| 
 | |
| <dt>int Image_filtre_Sobel(Image_Desc *src, Image_Desc *dst, int rotation);
 | |
| <dd>C'est un filtre directionnel, et le paramètre <tt>rotation</tt> permet
 | |
| de le faire tourner.
 | |
| </dl>
 | |
| 
 | |
| <p>
 | |
| Certaines primitives du module 'filtres.c' necessitent une lecture
 | |
| approfondie du code source. ymmv.
 | |
| </p>
 | |
| 
 | |
| <p class="HDP"><a href="#top">haut de page</a></p>
 | |
| <a name="liens"><h2>liens</h2></a>
 | |
| 
 | |
| <p>
 | |
| Comme d'habitude, utilisez votre <a href="http://www.exalead.fr/">g00gl3</a>
 | |
| favori, et tentez des mots-clefs du genre 'convolution' ou 'sobel filter'.
 | |
| </p>
 | |
| 
 | |
| <p class="HDP"><a href="#top">haut de page</a></p>
 | |
| 
 | |
| <p class="footer">
 | |
| vous pouvez essayer de me contacter:<br>
 | |
| mon adresse est <a href="http://la.buvette.org/ego/cv.html">là</a><br>
 | |
| Si votre demande est scientifique, je patche comme un goret.<br>
 | |
| </p>
 | |
| 
 | |
| </body>
 | |
| </html>
 | 
