Compare commits
4 Commits
ad93b7935c
...
0e00e00df5
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0e00e00df5 | ||
![]() |
6e9aa75694 | ||
![]() |
603194451a | ||
![]() |
3ef1fdf02e |
@ -82,7 +82,7 @@ FloatImg img;
|
|||||||
int foo, retval;
|
int foo, retval;
|
||||||
FimgFilter3x3 *pfiltre;
|
FimgFilter3x3 *pfiltre;
|
||||||
|
|
||||||
FimgFilter3x3 lowpass = {
|
static FimgFilter3x3 lowpass = {
|
||||||
{
|
{
|
||||||
1.0, 2.0, 1.0,
|
1.0, 2.0, 1.0,
|
||||||
2.0, 4.0, 2.0,
|
2.0, 4.0, 2.0,
|
||||||
@ -91,7 +91,7 @@ FimgFilter3x3 lowpass = {
|
|||||||
16.0, 0.0
|
16.0, 0.0
|
||||||
};
|
};
|
||||||
|
|
||||||
FimgFilter3x3 hipass = {
|
static FimgFilter3x3 hipass = {
|
||||||
/* there was a bug with this filter */
|
/* there was a bug with this filter */
|
||||||
{
|
{
|
||||||
-1.0, -1.0, -1.0,
|
-1.0, -1.0, -1.0,
|
||||||
@ -101,7 +101,7 @@ FimgFilter3x3 hipass = {
|
|||||||
1.0, 0.0
|
1.0, 0.0
|
||||||
};
|
};
|
||||||
|
|
||||||
FimgFilter3x3 diagonal = {
|
static FimgFilter3x3 diagonal = {
|
||||||
/* there was a bug with this filter */
|
/* there was a bug with this filter */
|
||||||
{
|
{
|
||||||
4.0, 1.0, 0.0,
|
4.0, 1.0, 0.0,
|
||||||
@ -415,16 +415,6 @@ switch (idFx) {
|
|||||||
retval = plot_multidots(image, 42);
|
retval = plot_multidots(image, 42);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CR_message:
|
|
||||||
#if (0)
|
|
||||||
fprintf(stderr, "### msg from pid %d, fval=%f ###\n",
|
|
||||||
getpid(), fval);
|
|
||||||
/* here, we can display stats ! */
|
|
||||||
fimg_describe(image, "in crapulator");
|
|
||||||
#endif
|
|
||||||
retval = 0;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CR_nothing:
|
case CR_nothing:
|
||||||
retval = do_something(image, 3);
|
retval = do_something(image, 3);
|
||||||
break;
|
break;
|
||||||
|
@ -43,5 +43,4 @@
|
|||||||
51 decrgbzg 1 99
|
51 decrgbzg 1 99
|
||||||
60 gr2popcol 1 99
|
60 gr2popcol 1 99
|
||||||
61 fluffy 1 0.12
|
61 fluffy 1 0.12
|
||||||
99 message 1 1.0
|
|
||||||
-1 end 1 1.0
|
-1 end 1 1.0
|
||||||
|
@ -1715,7 +1715,9 @@ options:
|
|||||||
-v increase verbosity
|
-v increase verbosity
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
Euh, c'est quoi '\texttt{input glob pattern}' ? C'est ce qui vous permet
|
Euh, c'est quoi un '\textsl{input glob pattern}' ?
|
||||||
|
|
||||||
|
C'est ce qui vous permet
|
||||||
de sélectionner un peu les images que vous voulez traiter, exactement
|
de sélectionner un peu les images que vous voulez traiter, exactement
|
||||||
comme vous pourriez le faire avec un shell classique.
|
comme vous pourriez le faire avec un shell classique.
|
||||||
Par exemple pour choisir une image sur dix, le glob-pattern sera
|
Par exemple pour choisir une image sur dix, le glob-pattern sera
|
||||||
@ -1733,13 +1735,14 @@ se lancer dans des calculs splinesques pour améliorer les choses dans
|
|||||||
la création des images intermédiaires.
|
la création des images intermédiaires.
|
||||||
Voyons d'abord le principe actuel.
|
Voyons d'abord le principe actuel.
|
||||||
|
|
||||||
Nous avons une série de centaines, voire de milliers de photos.
|
Nous avons une série de centaines, voire de milliers, de photos.
|
||||||
En parcourant cette liste, nous allons en prélever une sur $N$,
|
En parcourant cette liste, nous allons en prélever une sur $N$,
|
||||||
et entre celle-ci et la
|
et entre celle-ci et la
|
||||||
précédente prélevée, nous allons calculer par interpolation
|
précédente prélevée, nous allons calculer par interpolation
|
||||||
\textbf{linéaire} $N - 1$ images intermédiaires, et les
|
\textbf{linéaire} $N - 1$ images intermédiaires, et les
|
||||||
intercaler entre nos deux sélections pour générer le
|
intercaler entre nos deux sélections pour générer le
|
||||||
flux de sortie.
|
flux de sortie,
|
||||||
|
ce qui devrait nous donner un ralenti de bon aloi.
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
usage:
|
usage:
|
||||||
@ -1753,6 +1756,11 @@ options:
|
|||||||
-v increase verbosity
|
-v increase verbosity
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
L'option « mysterious sort » mérite bien son nom. Cette friture a
|
||||||
|
été écrite il y a bien longtemps pour un projet précis, et les
|
||||||
|
résultats ont été décevants. Je pense qu'il est toxique de
|
||||||
|
l'utiliser pour le moment\footnote{Ou le repenser différent ?}.
|
||||||
|
|
||||||
% -------------------------------------------------------------------
|
% -------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@ -1774,20 +1782,20 @@ usage:
|
|||||||
|
|
||||||
Il n'y a pas de moyenne mobile, pas d'interpolation, mais un facteur de
|
Il n'y a pas de moyenne mobile, pas d'interpolation, mais un facteur de
|
||||||
répétition qui permet de dupliquer $N$ fois une image dans le flux de
|
répétition qui permet de dupliquer $N$ fois une image dans le flux de
|
||||||
sortie. Si bous globez \texttt{frames/????[02468]}, vous prenez
|
sortie. Si vous globez \texttt{frames/????[02468]}, vous prenez
|
||||||
une image sur deux, alors un facteur de répétition à $2$ conservera
|
une image sur deux, alors un facteur de répétition à $2$ conservera
|
||||||
la 'vitesse' de la séquence, mais avec une petite saccade régulière
|
la 'vitesse' de la séquence, mais avec une petite saccade régulière
|
||||||
de bon aloi \textit{:)}
|
de bon aloi \textit{:)}
|
||||||
|
|
||||||
% -------------------------------------------------------------------
|
% -------------------------------------------------------------------
|
||||||
|
|
||||||
\subsection{Déviance}
|
\subsection{Déviance dans le flou ?}
|
||||||
|
|
||||||
Là, nous tombons dans de la \textsl{troiD}\index{3d} de haut niveau,
|
Là, nous tombons dans de la \textsl{troiD}\index{3d} de haut niveau,
|
||||||
avec plein de maths compliquées
|
avec plein de maths compliquées
|
||||||
à l'intérieur.
|
à l'intérieur.
|
||||||
Et surtout quelque chose qui n'est encore qu'une idée abstraite,
|
Et surtout quelque chose qui n'est encore qu'une idée abstraite,
|
||||||
mais il y aura du zbuffer dedans.
|
mais il y aura du zbuffer\index{zbuffer} dedans.
|
||||||
|
|
||||||
% ===================================================================
|
% ===================================================================
|
||||||
|
|
||||||
|
@ -221,6 +221,10 @@ int fimg_lissage_2x2(FloatImg *img)
|
|||||||
{
|
{
|
||||||
int foo;
|
int foo;
|
||||||
|
|
||||||
|
#if DEBUG_LEVEL
|
||||||
|
fprintf(stderr, ">>> %s ( %p )\n", __func__, img);
|
||||||
|
#endif
|
||||||
|
|
||||||
foo = fimg_lissage_2x2_a(img);
|
foo = fimg_lissage_2x2_a(img);
|
||||||
if (foo) {
|
if (foo) {
|
||||||
fprintf(stderr, "%s: fail %d\n", __func__, foo);
|
fprintf(stderr, "%s: fail %d\n", __func__, foo);
|
||||||
@ -238,7 +242,9 @@ int fimg_lissage_3x3(FloatImg *img)
|
|||||||
int foo;
|
int foo;
|
||||||
FloatImg tmp;
|
FloatImg tmp;
|
||||||
|
|
||||||
|
#if DEBUG_LEVEL
|
||||||
fprintf(stderr, ">>> %s ( %p )\n", __func__, img);
|
fprintf(stderr, ">>> %s ( %p )\n", __func__, img);
|
||||||
|
#endif
|
||||||
|
|
||||||
static FimgFilter3x3 lowpass = {
|
static FimgFilter3x3 lowpass = {
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user