plug the funny contrast adjustement in the grabber

This commit is contained in:
tth 2019-12-04 11:17:45 +01:00
parent de3b31db94
commit b80839b076
4 changed files with 25 additions and 3 deletions

View File

@ -371,7 +371,8 @@ return 0;
\end{verbatim} \end{verbatim}
Je vous laisse imaginer les dégats que peut faire cette Je vous laisse imaginer les dégats que peut faire cette
fontion en utilisation réelle. fontion en utilisation réelle. Mieux, je vous propose
d'essayer par vous-même.
En particulier tout le reste du code qui suppose qu'un pixel En particulier tout le reste du code qui suppose qu'un pixel
ne peut \textbf{pas} être négatif. ne peut \textbf{pas} être négatif.
Vous pouvez aussi remarquer qu'il n'y a pas de controle Vous pouvez aussi remarquer qu'il n'y a pas de controle
@ -439,7 +440,8 @@ en première approche, alors commençont par le plus simple,
les valeurs moyennes de chaque composante. les valeurs moyennes de chaque composante.
Puis nous rajouterons\footnote{Les patchs sont les bienvenus} Puis nous rajouterons\footnote{Les patchs sont les bienvenus}
le calcul de la variance\index{variance}. le calcul de la variance\index{variance}. Les compétences
de \texttt{schmod777} sont attendues au dd2\index{dd2}.
\subsection{fimgfx}\index{fimgfx}\label{fimgfx} \subsection{fimgfx}\index{fimgfx}\label{fimgfx}
@ -447,6 +449,17 @@ le calcul de la variance\index{variance}.
Attention, je vais expérimenter un parsing un peu étrange Attention, je vais expérimenter un parsing un peu étrange
sur les arguments de la ligne de commande. coredump expected.} sur les arguments de la ligne de commande. coredump expected.}
\vspace{1em}
À l'heure actuelle\footnote{décembre 2019, vers 15:30}, nous avons
déja quelques ajustements basiques de contraste.
\begin{verbatim}
tth@daubian:~/Devel/FloatImg/tools$ ./fimgfx -v -h
--- fimg special effects ---
cos01 cos010 pow2 sqrt
\end{verbatim}
\subsection{fimgops}\index{fimgops}\label{fimgops} \subsection{fimgops}\index{fimgops}\label{fimgops}
Quelques opérations diverses entre deux images, qui doivent être Quelques opérations diverses entre deux images, qui doivent être

View File

@ -2,7 +2,7 @@
* floatimg.h * floatimg.h
*/ */
#define FIMG_VERSION 79 #define FIMG_VERSION 80
/* /*
* in memory descriptor * in memory descriptor
@ -41,6 +41,7 @@ typedef struct {
#define CONTRAST_SQRT 1 #define CONTRAST_SQRT 1
#define CONTRAST_POW2 2 #define CONTRAST_POW2 2
#define CONTRAST_COS01 3 #define CONTRAST_COS01 3
#define CONTRAST_COS010 4
/* /*
* core module * core module

View File

@ -20,6 +20,7 @@ if (!strcmp(str, "none")) return CONTRAST_NONE;
if (!strcmp(str, "sqrt")) return CONTRAST_SQRT; if (!strcmp(str, "sqrt")) return CONTRAST_SQRT;
if (!strcmp(str, "pow2")) return CONTRAST_POW2; if (!strcmp(str, "pow2")) return CONTRAST_POW2;
if (!strcmp(str, "cos01")) return CONTRAST_COS01; if (!strcmp(str, "cos01")) return CONTRAST_COS01;
if (!strcmp(str, "cos010")) return CONTRAST_COS010;
return -1; return -1;
} }

View File

@ -122,6 +122,10 @@ FloatImg cumul;
while ((opt = getopt(argc, argv, "c:d:ghn:o:O:p:s:uv")) != -1) { while ((opt = getopt(argc, argv, "c:d:ghn:o:O:p:s:uv")) != -1) {
switch(opt) { switch(opt) {
case 'c': contrast = fimg_id_contraste(optarg); case 'c': contrast = fimg_id_contraste(optarg);
if (contrast < 0) {
fputs("unknow contrast\n", stderr);
exit(1);
}
break; break;
case 'd': dev_name = optarg; break; case 'd': dev_name = optarg; break;
case 'g': to_gray = 1; break; case 'g': to_gray = 1; break;
@ -344,6 +348,9 @@ switch (contrast) {
case CONTRAST_COS01: case CONTRAST_COS01:
fimg_cos_01(&cumul, NULL, maxvalue); fimg_cos_01(&cumul, NULL, maxvalue);
break; break;
case CONTRAST_COS010:
fimg_cos_010(&cumul, NULL, maxvalue);
break;
default: default:
fprintf(stderr, "bad contrast method\n"); fprintf(stderr, "bad contrast method\n");
break; break;