Compare commits

..

No commits in common. "4872ec698c6cb4f12b58062139b911223c941112" and "2b03f3f5167cf85411f62986bf01193d2710b995" have entirely different histories.

2 changed files with 21 additions and 45 deletions

View File

@ -10,7 +10,7 @@
% \lstset{frame=single} % dessin d'un cadre autour du listing
\lstset{basicstyle=\ttfamily\small}
\lstset{aboveskip=0.1em,belowskip=0.1em}
\lstset{aboveskip=0.222em,belowskip=0.222em}
\usepackage{babel} % ?
@ -50,7 +50,7 @@
\begin{document}
\maketitle
\section*{Image flottante ?}
\section{Image flottante ?}
Mais de quoi parle-t-on exactement ?
@ -89,9 +89,9 @@ la page \pageref{outils} pour quelque chose de plus concret.
\pagebreak
\setlength \parskip {0.40em}
\layout \pagebreak
% \layout \pagebreak
% ===================================================================
% -------------------------------------------------------------------
\section{Théorie}\index{théorie}
@ -128,7 +128,7 @@ Il est très difficle d'imaginer une lumière négative. Sauf peut-être
si nous songeons à des coefficients d'absorption, ou un canal
\textsl{alpha} qui inverserait les valeurs ?
% ===================================================================
% -------------------------------------------------------------------
\section{Premier exemple}\index{exemple}\label{exemple}
@ -203,7 +203,7 @@ d'autres exemples de mise en œuvre des fonctions disponibles
sous formes d'outils en ligne de commande,
lesquels sont décrits en page \pageref{outils}.
% ===================================================================
% -------------------------------------------------------------------
\section{Installation}
Sauf indications contraires, ces instructions se réfèrent à
@ -734,7 +734,7 @@ int fimg_lissage_2x2(FloatImg *img);
int fimg_killborders(FloatImg *img);
\end{lstlisting}
Bon, oké, ça marche ? Passons à l'étape suivante.
Bon, oké, ça marche ? Passons à l'tape suivante.
La convolution avec une matrice 3x3, c'est possible.
Et pas trop compliqué à faire.
Bon, il reste le souci avec les bordures, souci qui ne peut
@ -753,7 +753,7 @@ typedef struct {
L'usage des champs \texttt{mult} et \texttt{offset} n'est pas
clairement défini. Le prototype de la fonction de filtrage
non plus, mais assez simple quand même. Source et destination
non plus, mais assez simpe quand même. Source et destination
ne peuvent désigner la même image, et le champ \texttt{matrix}
du filtre doit contenir des valeurs cohérentes.
@ -817,7 +817,7 @@ de cohérence sur les dimensions des deux images, malgré l'existence
de fonctions prévues à cet effet..
% ===================================================================
% -------------------------------------------------------------------
\section{Les outils}\label{outils}
\textsf{3615mavie} : sur des projets comme celui-ci, qui travaillent
@ -861,6 +861,7 @@ devra être donné avec l'option \texttt{-k F.F} avec une valeur par défaut
\item [hdeg/vdeg:] dégradé du noir au blanc (relatif à \texttt{-k}).
\end{description}
% ---------------------
\subsection{png2fimg}\index{png2fimg}\label{png2fimg}
@ -1007,9 +1008,9 @@ cumulator options :
\end{verbatim}
Le nom par défaut du fichier résultant est \texttt{out.fimg}.
L'exportation « multiformat » est pour bientôt.
L'exportation "multiformat" est pour bientôt.
% ===================================================================
% -------------------------------------------------------------------
\section{TODO}\index{TODO}\label{TODO}\
\index{XXX}
@ -1029,7 +1030,7 @@ choses seront acquises.
\item Vérifier le gestion des images mono-canal.
\end{itemize}
% ===================================================================
% -------------------------------------------------------------------
\section{Exemples pour yusers}\index{exemple}
Nous allons \textsl{essayer d'improviser} un exemple presque réel,
@ -1208,7 +1209,7 @@ C'est juste une POC\index{POC}, et une implémentation bien plus
complète écrite en \textbf{C}\index{C} est déja en chantier,
avec une complexité prévue à un niveau assez réjouissant.
% ===================================================================
% -------------------------------------------------------------------
\section{Video for Linux}\index{v4l2}
Donc, maintenant, nous savons un peu tripoter ces images flottantes.
@ -1305,7 +1306,7 @@ la liste des résolutions disponibles.
Ajustement \textsl{Brightness Contrast Saturation Hue\dots}
% ===================================================================
% -------------------------------------------------------------------
\section{À l'extérieur}
@ -1369,23 +1370,14 @@ On peut d'abord penser faire une moyenne (ou la somme, en fait) de toutes
ces images. Mais ce n'est qu'une façon déguisée de faire du cumul.
C'est à ce moment que nous changeons l'axe de vue du défi.
Par ailleurs, il m'a semblé pertinent d'inclure dans le projet une
foultitude d'effets spéciaux.
\subsection{textsl{moving average}}
\subsection{\textsl{moving average}}
\texttt{./fonderie} : Basé sur la moyenne mobile.
Moyenne mobile.
\subsection{Interpolator}\index{interpolator}
Juste des calculs pas si simple que ça.
\subsection{Singlepass}
Ce programme \texttt{singlepass} prétend vous permettre de tester
tous les filtres disponibles, dont on peut avoir la liste
avec l'option \texttt{-L}\footnote{liste hélas peu machinable.}
\subsection{Déviance}
Là, nous tombons dans la troiD de haut niveau, avec plein de maths

View File

@ -22,7 +22,7 @@ typedef struct {
enum fxid { Fx_cos01=5, Fx_cos010, Fx_pow2, Fx_sqrt, Fx_gray0, Fx_halfsz0,
Fx_rot90, Fx_cmixa, Fx_desat, Fx_ctr2x2, Fx_norm,
Fx_xper, Fx_binarize, Fx_trinarize,Fx_hilight_R };
Fx_xper, Fx_binarize, Fx_hilight_R };
Fx fx_list[] = {
{ "cos01", Fx_cos01, 0, 1 },
@ -37,8 +37,7 @@ Fx fx_list[] = {
{ "desat", Fx_desat, 0, 1 },
{ "ctr2x2", Fx_ctr2x2, 0, 1 },
{ "norm", Fx_norm, 0, 1 },
{ "binarize", Fx_binarize, 0, 1 },
{ "trinarize", Fx_trinarize, 0, 1 },
{ "binarize", Fx_binarize, 0, 0 },
{ "hilightr", Fx_hilight_R, 0, 1 },
{ NULL, 0, 0, 0 }
};
@ -95,7 +94,6 @@ return 0;
static void help(int lvl)
{
Fx *fx;
int foo;
printf("-- fimg special effects -- %s %s --\n", __DATE__, __TIME__);
puts("usage:");
@ -107,13 +105,8 @@ puts("\t-v\tincrease verbosity");
puts("effects:");
printf("\t");
foo = 0;
for (fx=fx_list; fx->name; fx++) {
foo += printf("%s ", fx->name);
if (foo > 55) {
printf("\n\t");
foo = 0;
}
printf("%s ", fx->name);
}
puts("");
fimg_print_version(1);
@ -147,7 +140,7 @@ if (fx_list[fxidx].flags & 1) {
}
}
else {
fprintf(stderr, "%s: ???\n", __func__); /* XXX */
/* XXX */
memset(&dest, 0, sizeof(dest));
}
@ -194,10 +187,6 @@ switch (action) {
fimg_copy_data(&src, &dest);
foo = fimg_binarize(&dest, 0);
break;
case Fx_trinarize:
fimg_copy_data(&src, &dest);
foo = fimg_trinarize(&dest, 0);
break;
case Fx_hilight_R:
foo = fimg_highlight_color(&src, &dest, 'R', 1.333);
break;
@ -214,11 +203,6 @@ if (foo) {
return foo;
}
fimg_destroy(&src);
if (dest.type) {
fimg_destroy(&dest);
}
return 0;
}
/* --------------------------------------------------------------------- */