commit du soir, espoir

This commit is contained in:
tth 2020-02-20 23:20:31 +01:00
parent 33daa84530
commit 37ee68278b
2 changed files with 49 additions and 12 deletions

3
.gitignore vendored
View File

@ -23,8 +23,7 @@ doc/*.pdf
doc/*.idx doc/*.idx
doc/*.ilg doc/*.ilg
doc/*.ind doc/*.ind
doc/foo.tex doc/co*.tex
funcs/t funcs/t
funcs/*.o funcs/*.o
funcs/*.png funcs/*.png

View File

@ -9,6 +9,8 @@
\usepackage{listings} \usepackage{listings}
\usepackage{babel} \usepackage{babel}
\usepackage{graphicx} % for gnuplot ylabel rotate
\usepackage{pifont} % caractères rigolos \usepackage{pifont} % caractères rigolos
\usepackage{enumitem} \usepackage{enumitem}
\setitemize[1]{label={\ding{87}}} \setitemize[1]{label={\ding{87}}}
@ -214,6 +216,13 @@ faciliter un peu la chose. Il prend également en compte la copie
des divers binaires du dossier \texttt{tools/} (cf. page \pageref{outils}) des divers binaires du dossier \texttt{tools/} (cf. page \pageref{outils})
dans le répertoire prévu à cet effet : \texttt{/usr/local/bin}. dans le répertoire prévu à cet effet : \texttt{/usr/local/bin}.
Il reste enfin quelques exemples d'utilisation des outils de la
ligne de commande depuis un shell
dans le répertoire \texttt{scripts/}.
Ils sont décrits plus en détail page
\pageref{scripts}, et c'est à vous de les adapter à votre \textsl{usecase}.
Faites-en ce que vous voulez.
% ================================================================= % =================================================================
\section{Utilisation coté codeur}\label{codaz} \section{Utilisation coté codeur}\label{codaz}
@ -334,7 +343,7 @@ Si tout s'est bien passé (valeur retournée égale à 0),
on va trouver la largeur dans \texttt{datas[0]}, on va trouver la largeur dans \texttt{datas[0]},
la hauteur dans \texttt{datas[1]} et le type dans la hauteur dans \texttt{datas[1]} et le type dans
\texttt{datas[2]}\footnote{La fonction \texttt{datas[2]}\footnote{La fonction
\texttt{fimg\_type\_is\_valid(int type)} peut vous aider}. \texttt{fimg\_type\_is\_valid(int type)} peut vous aider\dots}.
Je sais aussi que certains d'entre vous aiment la facilité, aussi Je sais aussi que certains d'entre vous aiment la facilité, aussi
je vais vous révéler l'existence d'un nouveau truc bien plus je vais vous révéler l'existence d'un nouveau truc bien plus
@ -348,6 +357,9 @@ memset(&head, 0, sizeof(FloatImg));
foo = fimg_create_from_dump("lena.fimg", &head); foo = fimg_create_from_dump("lena.fimg", &head);
\end{verbatim} \end{verbatim}
Si la valeur retournée est différente de 0, c'est que quelque
chose s'est mal passé.
Certains messages sont parfois parfois explicites.
% _________ % _________
@ -358,8 +370,7 @@ Bon, vous avez une image latente, et vous souhaitez dessiner dessus
Il y a des fonctions pour ça, par exemple~: Il y a des fonctions pour ça, par exemple~:
\begin{verbatim} \begin{verbatim}
int fimg_plot_rgb (FloatImg *head, int x, int y, int fimg_plot_rgb(FloatImg *head, int x, int y, float r, float g, float b);
float r, float g, float b);
\end{verbatim} \end{verbatim}
Les paramètres sont explicites, mais leur validité doit être Les paramètres sont explicites, mais leur validité doit être
@ -369,6 +380,11 @@ qui ajoute du rgb à un pixel, laquelle fonction a d'ailleurs été
à la base de la seconde génération de la à la base de la seconde génération de la
photographie\index{photographie} en cumul\index{cumul}. photographie\index{photographie} en cumul\index{cumul}.
Inversement, la fonction
\texttt{fimg\_get\_rgb(FloatImg *head, int x, int y, float *rgb)}
permet de lire les valeurs des trois canaux d'un pixel donné.
Là aussi, il n'y a aucun contrôle sur la validité des valeurs
$x$ et $y$ de la demande.
% ---------------------------------- % ----------------------------------
@ -379,6 +395,11 @@ semblent cohérents avec la notion d'image flottante.
Certains d'entre eux, les plus simples, sont disponibles. Certains d'entre eux, les plus simples, sont disponibles.
Les autres sont à imaginer. Les autres sont à imaginer.
\begin{figure}
\input{cos01.tex} % XXX XXX XXX
\caption{Correcteur cos01}
\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}), et le troisième
est un nombre en double précision donnant la valeur est un nombre en double précision donnant la valeur
@ -393,9 +414,15 @@ int fimg_cos_01(FloatImg *s, FloatImg *d, double maxval);
int fimg_cos_010(FloatImg *s, FloatImg *d, double maxval); int fimg_cos_010(FloatImg *s, FloatImg *d, double maxval);
\end{verbatim} \end{verbatim}
Si vous souhaitez rajouter votre propre méthode de modification
de contraste, il y a quelques explication en page \pageref{exemplefunc}.
\begin{figure} \begin{figure}
\input{foo.tex} % XXX XXX XXX \input{cos010.tex} % XXX XXX XXX
\caption{Correcteur cos01} \caption{Correcteur cos010}
\end{figure} \end{figure}
Rappelons qu'il est possible pour un logiciel applicatif Rappelons qu'il est possible pour un logiciel applicatif
@ -461,7 +488,9 @@ dans ce domaine\dots
\subsubsection{Vers PNM}\index{PNM} \subsubsection{Vers PNM}\index{PNM}
Nous avons ici 16 bits par composante, mais au prix Nous avons ici 16 bits par composante, soit 65536 valeurs différentes,
ce qui est bien au-delà de ce que peuvent percevoir vos yeux.
Hélas, c'est au prix
d'une taille énorme sur les fichiers. D'un autre coté, d'une taille énorme sur les fichiers. D'un autre coté,
l'utilisation du codage \textsc{ascii}\index{ascii} l'utilisation du codage \textsc{ascii}\index{ascii}
(alors qu'on pourrait mettre du binaire, plus compact) y est (alors qu'on pourrait mettre du binaire, plus compact) y est
@ -494,12 +523,13 @@ Mais je me soigne. Le mode 16 bits va bientôt arriver.
int fimg_save_as_png(FloatImg *src, char *outname, int flags); int fimg_save_as_png(FloatImg *src, char *outname, int flags);
\end{verbatim} \end{verbatim}
Tous les flags doivent être à zéro.
\subsubsection{Vers TIFF}\index{TIFF} \subsubsection{Vers/depuis 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 scanners corporates. classique proposé par les gros scanners corporates.
To be done\index{XXX} To be done\index{XXX}
@ -553,7 +583,7 @@ des bords d'image.
% ---------------------------------- % ----------------------------------
\subsection{Exemple de fonction}\index{exemple} \subsection{Exemple de fonction}\index{exemple}\label{exemplefunc}
Nous allons maintenant écrire une fonction intégrable dans Nous allons maintenant écrire une fonction intégrable dans
le répertoire \texttt{funcs/}. le répertoire \texttt{funcs/}.
@ -759,7 +789,10 @@ de méthodes, toutes plus légitimes que les autres.
% ------------------------------------------------------------------- % -------------------------------------------------------------------
\section{TODO}\index{TODO}\label{TODO} \section{TODO}\index{TODO}\label{TODO}
Il reste plein de choses à faire pour que ce soit vraiment utilisable. Il reste plein de choses à faire pour que ce soit vraiment utilisable,
surtout dans un contexte artistique à grande porosité.
C'est par ces frottements de techniques ayant du sens que les
choses seront acquises.
\begin{itemize} \begin{itemize}
\item Import/export au format \textsc{tiff}\index{tiff}. \item Import/export au format \textsc{tiff}\index{tiff}.
@ -767,6 +800,7 @@ Il reste plein de choses à faire pour que ce soit vraiment utilisable.
\textsl{[en cours]}. \textsl{[en cours]}.
\item Compléter les traitements mathémathiques (eg le gamma\index{gamma}). \item Compléter les traitements mathémathiques (eg le gamma\index{gamma}).
\item Formaliser les codes d'erreur. \textbf{Urgent}. \item Formaliser les codes d'erreur. \textbf{Urgent}.
\item Faire une passe complète de Valgrind\index{valgrind}.
\end{itemize} \end{itemize}
% ------------------------------------------------------------------- % -------------------------------------------------------------------
@ -841,6 +875,10 @@ de films flous\index{film} à partir de photos floues.
Le script \texttt{scripts/echomix.sh} est une première expérimentation Le script \texttt{scripts/echomix.sh} est une première expérimentation
en bash, utilisant deux outils en \textsc{cli}. en bash, utilisant deux outils en \textsc{cli}.
C'est juste une POC\index{POC}, et une implémentation bien plus
complète écrite en \textbf{C}\index{C} est déja en chantier,
avec une complexité prévue à un niveau assez réjouissant.
% ------------------------------------------------------------------- % -------------------------------------------------------------------
\section{Video for Linux}\index{v4l2} \section{Video for Linux}\index{v4l2}