From 03cfbf82175d043e3055a5b25fc5e6be31ee841a Mon Sep 17 00:00:00 2001 From: tth Date: Sat, 21 Dec 2019 13:50:15 +0100 Subject: [PATCH] bla bla bla --- doc/the_floatimg_hack.tex | 46 +++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/doc/the_floatimg_hack.tex b/doc/the_floatimg_hack.tex index 47418191..eb3b460a 100644 --- a/doc/the_floatimg_hack.tex +++ b/doc/the_floatimg_hack.tex @@ -150,7 +150,7 @@ lesquels sont décrits en page \pageref{outils}. Vous devez, en dehors des outils classiques (bash, gcc, make\dots), avoir quelques bibliothèques installées\footnote{Les \texttt{-dev} -pour Debain et dérivées}~: libv4l2, libpnglite, libtiff, libpnm, +pour Debain et dérivées}~: libv4l2, libpnglite, libtiff, libnetpbm, et probablement d'autres choses. \vspace{1em} @@ -173,22 +173,27 @@ répertoires à traiter, ce script devrait trouver un Makefile et un fichier Pour le moment, la procédure d'installation est un peu rude, pour ne pas dire clairement sommaire. -Si le résultat vous semble correct, vous pouvez copier -les deux fichiers \texttt{floatimg.h} et \texttt{libfloatimg.a} -dans un emplacement -approprié, par exemple +Si le résultat de l'étape compilation vous semble correct, +vous pouvez copier les deux fichiers \texttt{floatimg.h} et \texttt{libfloatimg.a} +dans un emplacement approprié, par exemple \texttt{/usr/local/include} et \texttt{/usr/local/lib}. +\vspace{1em} +Le script \texttt{install.sh}, à la racine du projet, est censé +faciliter un peu la chose. Il prend également en compte la copie +des outils (cf. page \pageref{outils}) dans le répertoire +prévu à cet effet : \texttt{/usr/local/bin}. % ------------------------------------------------------------------- \section{Utilisation coté codeur}\label{codaz} -Classiquement, il y a un fichier à inclure, \texttt{floatimg.h}, -contenant un certain nombre de -définition de structures, de macros, +Classiquement, il y a un fichier à inclure dans chacun de code +source, +\texttt{floatimg.h}, généralement logé dans \texttt{/usr/local/include} +contenant un certain nombre de définition de structures, de macros, de constantes\footnote{À l'ancienne, via le pré-processur} -et les prototypes des fonctions utilisables. +et les prototypes des fonctions utilisables par vos logiciels. \vspace{1em} Au niveau du code source, ces fonctions sont approximativement @@ -201,7 +206,7 @@ est en fait arbitraire. Les pixels flottants d'une image résidant en mémoire centrale sont décrits par un ensemble -de données (certains appelent ça des \textsl{metadats}) regroupées +de données (certains appelent ça des \textsl{metadatas}) regroupées dans une jolie structure que nous allons examiner dès maintenant. \begin{verbatim} @@ -230,26 +235,33 @@ gris, rgb et rgba\index{rgba}. Un peu plus loin, nous avons les pointeurs vers les différents \textsl{pixmaps} de l'image. En principe l'organisation -interne de ces zones est improbable, puisque qu'elle dérive +interne de ces zones est improbable, puisque elle dérive d'idées approximatives. + \vspace{1em} Les deux champs suivants (fval et count) sont à la disposition du \textsl{yuser} 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} quelques images... + \vspace{1em} Le champ \textsl{count} sera mis à 0 et le champ \textsl{fval} sera initialisé à 15.0 -(valeur maximale renvoyée par le capteur). +(qui est la valeur maximale que peut renvoyer le capteur). Ensuite, dans la boucle capture/cumul, \textsl{count} sera incrémenté à chaque passe, et nous aurons donc, en finale, toutes les informations nécessaires pour exploiter au mieux la dynamique -de notre image dans les étapes ultérieures. +de notre image dans les étapes ultérieures, puisque la valeur +maximale théorique est égale à $fval * count$. +\vspace{1em} + +\textsl{Il est vraiment dommage que ces deux données auxiliaires +ne puisse être stockée dans les dumps d'image. \index{XXX}} \subsection{lib/}\index{lib/} @@ -422,7 +434,7 @@ error in 'fimg_create_from_png' : read png -> -1 File error png2fimg : err -1, abort. \end{verbatim} -Il faut envisager le passage à \texttt{libpng}\index{libpng}. +Il faut peut-être envisager le passage à \texttt{libpng}\index{libpng}. \subsection{fimgstats}\index{fimgstats}\label{fimgstats} @@ -452,7 +464,8 @@ 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. +déja quelques ajustements basiques de contraste, qui ne tiennent +pas vraiment compte du contenu de l'image. \begin{verbatim} tth@daubian:~/Devel/FloatImg/tools$ ./fimgfx -v -h @@ -494,6 +507,7 @@ La véracité mathématique n'est pas garantie. Quelques petits proggies pour exporter notre format\index{.fimg} secret vers des choses plus directement utilisables. À condition que le code soit écrit et documenté. Peut-être en page \pageref{funcs}\dots +\vspace{1em} D'un autre coté, écrire un greffon d'import/export pour Gimp\index{Gimp} ou Imagemagick\index{Imagemagick}