libtthimage/Doc/img-filtres.html

94 lines
2.9 KiB
HTML
Raw Normal View History

2022-06-26 11:23:53 +11:00
<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"></a><br>
Si votre demande est scientifique, je patche comme un goret.<br>
</p>
</body>
</html>