need proff reading

This commit is contained in:
tth 2020-09-03 01:35:54 +02:00
parent a5cd02a261
commit 4b2d2c264f
1 changed files with 52 additions and 19 deletions

View File

@ -26,7 +26,7 @@
\usepackage{xspace} \usepackage{xspace}
\usepackage[verbose]{layout} \usepackage[verbose]{layout}
\setlength \parskip {0.333em} \setlength \parskip {0.35em}
\makeatletter \makeatletter
% exlpication de ce truc ? % exlpication de ce truc ?
@ -204,19 +204,22 @@ lesquels sont décrits en page \pageref{outils}.
% ------------------------------------------------------------------- % -------------------------------------------------------------------
\section{Installation} \section{Installation}
Sauf indications contraires, ces instructions se réfèrent à
une distribution Debian\index{Debian} récente.
\textit{Attention, ça devient un peu gore. Myrys, punk, toussa\dots} \textit{Attention, ça devient un peu gore. Myrys, punk, toussa\dots}
\subsection{Prérequis} \subsection{Prérequis}
Vous devez, en dehors des outils classiques (bash, gcc, make\dots), Vous devez, en dehors des outils classiques (bash, gcc, make\dots),
avoir quelques bibliothèques installées\footnote{Les \texttt{-dev} avoir quelques bibliothèques installées\footnote{Les \texttt{-dev}
pour Debian et dérivées}~: en plus pour Debian et dérivées}~:
\textsf{ \textsf{
libv4l2, libpnglite, libtiff, libv4l2, libpnglite, libtiff,
libnetpbm\footnote{package libnetpbm10-dev}, libnetpbm\footnote{package libnetpbm10-dev},
libz\footnote{package zlib1g-dev}, libcurses, libz\footnote{package zlib1g-dev}, libcurses,
libcfitsio-dev libcfitsio-dev
} % en of textsf } % end of textsf
éventuellement avec le \textsf{-dev} correspondant, éventuellement avec le \textsf{-dev} correspondant,
et probablement d'autres choses. et probablement d'autres choses.
@ -293,7 +296,8 @@ typedef struct {
\end{lstlisting}\index{FloatImg} \end{lstlisting}\index{FloatImg}
Les deux premiers champs sont \textsl{obvious}. Les deux premiers champs sont \textsl{obvious}.
Le troisième est le type d'image : pour le moment, il y en a trois Le troisième est le type d'image : pour le moment, il y en a % trois
un certain nombre
qui sont définis\footnote{et plus ou moins bien gérés\dots} : qui sont définis\footnote{et plus ou moins bien gérés\dots} :
gris, rgb et rgba\index{rgba}. gris, rgb et rgba\index{rgba}.
Les constantes adéquates sont dans \texttt{floatimg.h} Les constantes adéquates sont dans \texttt{floatimg.h}
@ -317,7 +321,8 @@ Les deux champs suivants (fval et count) sont à la disposition du
\textsl{yuser} \textsl{yuser}
qui peut jouer avec à loisir pour faire, par exemple, ce genre de qui peut jouer avec à loisir pour faire, par exemple, ce genre de
chose : imaginons un périphérique de capture qui nous fournisse des chose : imaginons un périphérique de capture qui nous fournisse des
images en gris sur 4 bits. Et que nous voulions cumuler\index{cumul} images en gris sur 4 bits (et linéaire).
Et que nous voulions cumuler\index{cumul}
quelques images... quelques images...
Le champ \textsl{count} sera mis à 0 et Le champ \textsl{count} sera mis à 0 et
@ -436,15 +441,17 @@ Là aussi, il n'y a aucun contrôle sur la validité des valeurs
$x$ et $y$ de la demande. $x$ et $y$ de la demande.
Quand au canal \textsl{alpha}\index{alpha}, il est pour le moment Quand au canal \textsl{alpha}\index{alpha}, il est pour le moment
superbement ignoré. superbement ignoré. Ceci dit, on vient de me faire remarquer qu'il
peut être utilisable aussi pour faire du
\textsl{z-buffer}\index{z-buffer} \dots
% ---------------------------------- % ----------------------------------
\subsection{Contraste}\index{contraste}\label{contraste} \subsection{Contraste}\index{contraste}\label{contraste}
Certaines opérations d'ajustement du contraste d'une image Certaines opérations d'ajustement du contraste d'une image
semblent cohérents avec la notion d'image flottante. semblent cohérentes avec la notion d'image flottante.
Certains d'entre eux, les plus simples, sont disponibles. Certaines d'entre elles, les plus simples, sont disponibles.
Les autres sont à imaginer. Les autres sont à imaginer.
\begin{figure}[h] \begin{figure}[h]
@ -453,8 +460,9 @@ Les autres sont à imaginer.
\end{figure} \end{figure}
Ils prennent chacun trois paramètres, d'abord les images Ils prennent chacun trois paramètres, d'abord les images
source et destination (\texttt{* FloatImg}), et le troisième source et destination (\texttt{* FloatImg}),
est un nombre en double précision donnant la valeur ensuite le troisième
qui est un nombre en double précision donnant la valeur
maximale \textsl{supposée} de l'image source, maximale \textsl{supposée} de l'image source,
valeur qui peut être déterminée de plusieurs manières. valeur qui peut être déterminée de plusieurs manières.
@ -469,6 +477,7 @@ int fimg_cos_010(FloatImg *s, FloatImg *d, double maxval);
Si vous souhaitez rajouter votre propre méthode de modification Si vous souhaitez rajouter votre propre méthode de modification
de contraste, il y a quelques explication en page \pageref{exemplefunc}. de contraste, il y a quelques explication en page \pageref{exemplefunc}.
Mais rien ne vous oblige à le faire.
\begin{figure}[h] \begin{figure}[h]
@ -606,7 +615,8 @@ Les autres bits ne sont pas utilisés et doivent être à zéro.
\subsubsection{Vers PNG}\index{PNG} \subsubsection{Vers PNG}\index{PNG}
Actuellement, on peut enregistrer uniquement en mode RGB, 8 bits par composante, Actuellement, on peut enregistrer uniquement en mode RGB,
8 bits par composante,
mais on a quand même une bonne compression, ça compense. mais on a quand même une bonne compression, ça compense.
J'utilise \textsl{libpnglite} avec qui j'ai un peu de mal à suivre. J'utilise \textsl{libpnglite} avec qui j'ai un peu de mal à suivre.
Mais je me soigne. Le mode 16 bits va bientôt arriver. Mais je me soigne. Le mode 16 bits va bientôt arriver.
@ -618,13 +628,18 @@ int fimg_save_as_png(FloatImg *src, char *outname, int flags);
Tous les flags doivent être à zéro. Sinon, ça foire parfois. Tous les flags doivent être à zéro. Sinon, ça foire parfois.
\subsubsection{Vers/depuis TIFF}\index{TIFF} \subsubsection{Vers TIFF}\index{TIFF}
Le format canonique de la PAO\index{PAO} du siècle dernier. Il permet Le format canonique de la PAO\index{PAO} du siècle dernier. Il permet
de gérer une foultitude de formats numériques. C'est aussi un format de gérer une foultitude de formats numériques. C'est aussi un format
classique proposé par les gros scanners corporates. classique proposé par les gros scanners corporates.
To be done\index{XXX} \begin{lstlisting}
int fimg_write_as_png(FloatImg *src, char *outname, int flags);
\end{lstlisting}
Tous les flags doivent être à zéro.
\subsubsection{Vers FITS}\index{FITS} \subsubsection{Vers FITS}\index{FITS}
@ -769,10 +784,10 @@ return 0;
\end{lstlisting} \end{lstlisting}
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. Mieux, je vous propose fonction en utilisation réelle. Mieux, je vous propose
d'essayer par vous-même. 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 va peut-être exploser de rire.
Vous pouvez aussi remarquer qu'il n'y a pas de controle Vous pouvez aussi remarquer qu'il n'y a pas de controle
de cohérence sur les dimensions des deux images, malgré l'existence de cohérence sur les dimensions des deux images, malgré l'existence
de fonctions prévues à cet effet.. de fonctions prévues à cet effet..
@ -1129,7 +1144,7 @@ done
\end{verbatim} \end{verbatim}
Et en fin de boucle, nous convertissons le résultat de nos Et en fin de boucle, nous convertissons le résultat de nos
savants au format PNG, et écrivons le fichier dans le répertoire savants calculs au format PNG, et écrivons le fichier dans le répertoire
de destination fixé au début. de destination fixé au début.
C'est le moment de passer la main à ffmpeg\index{ffmpeg}. C'est le moment de passer la main à ffmpeg\index{ffmpeg}.
@ -1180,8 +1195,10 @@ La plupart de ces options ont un usage quasi-évident.
L'option \texttt{-s} doit correspondre à une des L'option \texttt{-s} doit correspondre à une des
résolutions possibles de votre capteur. Le type du résolutions possibles de votre capteur. Le type du
fichier en sortie (option \texttt{-o}) est déterminé par fichier en sortie (option \texttt{-o}) est déterminé par
l'extension, actuellement l'extension du nom.
seulement \texttt{.fimg}, \texttt{.pnm} et \texttt{.png} Actuellement
seulement \texttt{.fimg}, \texttt{.pnm}, \texttt{.fits},
\texttt{.tiff} et \texttt{.png}
sont reconnus. sont reconnus.
La conversion en gris (option \texttt{-g}) mérite un La conversion en gris (option \texttt{-g}) mérite un
@ -1256,9 +1273,25 @@ de \textsl{Brunus} pour avancer...
\subsection{Gimp}\index{Gimp} \subsection{Gimp}\index{Gimp}
Mmmmm... Ça semble un peu plus compliqué. D'un autre coté, il Mmmmm... Ça semble un peu plus compliqué.
La documentation à ce sujet me semble ésotérique.
D'un autre coté, il
faut faire ça en \textbf{C}, ce qui ne peut être négatif. faut faire ça en \textbf{C}, ce qui ne peut être négatif.
\subsection{ffmpeg}\index{ffmpeg}
Un petit aide-mémoire pour encoder vos superbes
timelapses\index{timelapse} :
\begin{lstlisting}
ffmpeg -nostdin \
-y -r 30 -f image2 -i stereo/S%04d.png \
-c:v libx264 \
-pix_fmt yuv420p \
-tune film \
stereo.mp4
\end{lstlisting}
\subsection{Et encore ?}\index{krita}\index{geeqie} \subsection{Et encore ?}\index{krita}\index{geeqie}
Il y a d'autres logiciels pour lesquels écrire une fonction d'importation Il y a d'autres logiciels pour lesquels écrire une fonction d'importation