From bfe9fd56ffc2ede736920a69dc0d1a2493a5049e Mon Sep 17 00:00:00 2001 From: tth Date: Thu, 31 Oct 2019 15:02:27 +0100 Subject: [PATCH] more doc is more doc --- doc/the_floatimg_hack.tex | 47 +++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/doc/the_floatimg_hack.tex b/doc/the_floatimg_hack.tex index 0e25e77..640204f 100644 --- a/doc/the_floatimg_hack.tex +++ b/doc/the_floatimg_hack.tex @@ -255,7 +255,6 @@ sévèrement controlée par l'appelant. Il y a une fonction soeur, \texttt{fimg\_add\_rgb}\index{fimg\_add\_rgb}, qui ajoute du rgb à un pixel. - \subsection{funcs/}\index{funcs/}\label{funcs} Une bonne partie de ces fonctions est indéterministe. Ce qui @@ -268,6 +267,43 @@ de chaines de caractères, du tracé de choses bizarres\dots Plein de trucs qu'il faudra bien expliquer un jour\footnote{Mais il fait trop chaud dans le dd2\index{dd2}}. +\subsection{Exemple de fonction}\index{example} + +Nous allons écrire une fonction qui va faire quelque chose +à partir d'une image source et d'une valeur, et écrire le +résultat dans une image de destination. +Pour simplifier les choses, nous n'allons traiter que les +images de type \textsc{FIMG\_TYPE\_RGB}, de loin le plus +répandu. + +\begin{verbatim} +int fimg_example(FloatImg *s, FloatImg *d, float value) +{ +int size, index; + +if ( s->type!=FIMG_TYPE_RGB || d->type!=FIMG_TYPE_RGB) { + return -1; + } + +size = s->width * s->height; +for (idx=0; idxR[idx] = s->R[idx] - value; + d->G[idx] = s->G[idx] - value; + d->B[idx] = s->B[idx] - value; + } + +return 0; +} +\end{verbatim} + +Je vous laisse imaginer les dégats que peut faire cette +fontion en utilisation réelle. +En particulier tout le reste du code qui suppose qu'un pixel +ne peut \textbf{pas} être négatif. +Vous pouvez aussi remarquer qu'il n'y a pas de controle +de cohérence sur les dimensions des deux images. + + % ------------------------------------------------------------------- \section{Les outils}\label{outils} @@ -328,7 +364,8 @@ usage : fimgstats [options] file.fimg en première approche, alors commençont par le plus simple, les valeurs moyennes de chaque composante. -Puis nous rajouterons le calcul de la variance\index{variance}. +Puis nous rajouterons\footnote{Les patchs sont les bienvenus} +le calcul de la variance\index{variance}. \subsection{fimgops}\index{fimgops}\label{fimgops} @@ -442,9 +479,11 @@ options : -v increase verbosity \end{verbatim} -La plupart de ces options ont un usage quasi-évidents. +La plupart de ces options ont un usage quasi-évident. L'option \texttt{-s} doit correspondre à une des -résolutions possible de votre capteur. +résolutions possibles de votre capteur. Le type du +fichier en sortie (option \texttt{-o}) est déterminé par +l'extension. \subsubsection{Upscaling}\index{upscaling}\label{upscaling}