commit du soir, espoir
This commit is contained in:
parent
33daa84530
commit
37ee68278b
3
.gitignore
vendored
3
.gitignore
vendored
@ -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
|
||||||
|
@ -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}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user