Browse Source

bla bla bla

master
tth 3 years ago
parent
commit
03cfbf8217
  1. 46
      doc/the_floatimg_hack.tex

46
doc/the_floatimg_hack.tex

@ -150,7 +150,7 @@ lesquels sont décrits en page \pageref{outils}. @@ -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 @@ -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. @@ -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}. @@ -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 @@ -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.} @@ -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. @@ -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}

Loading…
Cancel
Save