more doc...
This commit is contained in:
parent
d4d2dcc7f5
commit
7eee0bd4d9
@ -120,11 +120,12 @@ quelques milliers d'images standard à 256 niveaux, sans trop avoir
|
||||
|
||||
\subsection{Dynamique}\index{dynamique}
|
||||
|
||||
Dynamique, précision et macheps.
|
||||
Dynamique, précision et \textsl{macheps} ?
|
||||
|
||||
\subsection{Pixel négatif ?}
|
||||
|
||||
Il est très difficle d'imaginer une lumière négative.
|
||||
Il est très difficle d'imaginer une lumière négative. Sauf peut-être
|
||||
si nous songeons à des coefficients d'absorption ?
|
||||
|
||||
% -------------------------------------------------------------------
|
||||
|
||||
@ -370,6 +371,7 @@ C'est bien beau d'être enfin résident en mémoire centrale, mais
|
||||
pouvoir aussi exister à long terme en étant stocké dans la matrice
|
||||
est tout aussi pertinent. Il y a deux opérations qui supportent le
|
||||
reste des transits ram/ps.
|
||||
Le format des fichiers est décrit page \pageref{formatfimg}.
|
||||
|
||||
\begin{lstlisting}
|
||||
int fimg_dump_to_file(FloatImg *fimg, char *fname, int notused);
|
||||
@ -403,7 +405,7 @@ foo = fimg_create_from_dump("lena.fimg", &head);
|
||||
|
||||
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.
|
||||
Certains messages sont parfois explicites.
|
||||
|
||||
% _________
|
||||
|
||||
@ -430,6 +432,9 @@ 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.
|
||||
|
||||
Quand au canal \textsl{alpha}\index{alpha}, il est pour le moment
|
||||
superbement ignoré.
|
||||
|
||||
% ----------------------------------
|
||||
|
||||
\subsection{Contraste}\index{contraste}\label{contraste}
|
||||
@ -463,7 +468,6 @@ Si vous souhaitez rajouter votre propre méthode de modification
|
||||
de contraste, il y a quelques explication en page \pageref{exemplefunc}.
|
||||
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\input{cos010.tex} % XXX XXX XXX
|
||||
\caption{Correcteur cos010}
|
||||
@ -500,7 +504,7 @@ qui permet un contrôle bien plus fin des dérives.
|
||||
La prochaine étape consistera à trouver une façon de faire
|
||||
une égalisation\index{égalisation} par histogramme\index{histogramme}
|
||||
qui respecte, dans toute sa futilité, le concept\index{concept}
|
||||
de pixel flottant.
|
||||
de pixel flottant. \textsl{Et c'est pas gagné...}
|
||||
|
||||
% ----------------------------------
|
||||
|
||||
@ -537,6 +541,25 @@ ne semblent pas d'accord.} d'une image RGB.
|
||||
L'image de destination peut être soit vierge, soit pré-allouée
|
||||
aux bonnes dimensions (échange W et H).
|
||||
|
||||
% ----------------------------------
|
||||
|
||||
\subsection{Format du fichier \textsc{fimg}}\index{format}\label{formatfimg}
|
||||
|
||||
D'un design très empirique, c'est certainement à revoir pour l'avenir.
|
||||
Tout d'abord pour normaliser l'endianess et le packing\dots
|
||||
|
||||
\begin{lstlisting}
|
||||
typedef struct {
|
||||
char magic[8];
|
||||
int w, h, t;
|
||||
} FimgFileHead;
|
||||
\end{lstlisting}
|
||||
|
||||
\dots Mais aussi pour faciliter l'ajout de métadonnées, telles que
|
||||
la valeur maximale, la date de création, une longueur d'onde,
|
||||
et bien plus encore.
|
||||
|
||||
|
||||
% ----------------------------------
|
||||
|
||||
\subsection{Exportation \& Importation}\index{export}\label{export}
|
||||
@ -603,7 +626,7 @@ To be done\index{XXX}
|
||||
\subsubsection{Vers FITS}\index{FITS}
|
||||
|
||||
Ce format est essentiellement utilisé pour stocker des images
|
||||
d'astronomie.
|
||||
d'astronomie, donc il peut aussi servir pour des images floues.
|
||||
|
||||
To be done\index{XXX}
|
||||
|
||||
@ -622,21 +645,24 @@ int parse_double(char *str, double *dptr)
|
||||
|
||||
|
||||
La fonction \texttt{int format\_from\_extension(char *fname)} examine un
|
||||
nom defichier tel que \texttt{lena.xxx}, et retourne, si la partie
|
||||
\texttt{xxx} un éventuel nombre positif, dont les valeurs sont dans floatimg.h
|
||||
nom de fichier tel que \texttt{lena.xxx}, et retourne, si la partie
|
||||
\texttt{xxx} est connue, un éventuel nombre positif, dont les valeurs sont
|
||||
déclarées dans floatimg.h
|
||||
le valeureux.
|
||||
Les extensions actuellement connues sont : fimg, png, pnm et tiff.
|
||||
Les extensions actuellement connues sont : fimg, png, pnm, fits et tiff.
|
||||
|
||||
To be continued\index{XXX}\dots
|
||||
|
||||
|
||||
\subsection{Effets}\index{sfx}
|
||||
|
||||
Quelques routines qui servent futilement à \textsl{brotcher} les images.
|
||||
Quelques routines qui servent futilement à \textsl{brotcher} les images
|
||||
en tripotant les flux visuels chromatiques.
|
||||
|
||||
\begin{lstlisting}
|
||||
int fimg_killcolors_a(FloatImg *fimg, float fval);
|
||||
int fimg_killcolors_b(FloatImg *fimg, float fval);
|
||||
int fimg_colors_mixer_a(FloatImg *fimg, float fval);
|
||||
\end{lstlisting}
|
||||
|
||||
|
||||
@ -875,10 +901,11 @@ de qualitay.
|
||||
|
||||
% -------------------------
|
||||
|
||||
\subsection{fimg2png, fimg2pnm, fimg2tiff}
|
||||
\subsection{fimg2png, fimg2pnm, fimg2tiff, fimg2fits}
|
||||
\index{fimg2png}\label{fimg2png}
|
||||
\index{fimg2pnm}\label{fimg2pnm}
|
||||
\index{fimg2tiff}\label{fimg2tiff}
|
||||
\index{fimg2fits}\label{fimg2fits}
|
||||
|
||||
Quelques petits proggies pour exporter notre format\index{.fimg} secret
|
||||
vers des choses plus directement utilisables. À condition que le
|
||||
@ -888,7 +915,7 @@ D'un autre coté, écrire un greffon d'import/export pour
|
||||
Gimp\index{Gimp} ou ImageMagick\index{ImageMagick} ou Krita\index{krita}
|
||||
ne devrait pas être trop difficile. Des volontaires ?
|
||||
|
||||
\textsl{D'ailleurs, pourquoi $n$ logiciels indépendants alors q'un
|
||||
\textsl{D'ailleurs, pourquoi $N$ logiciels indépendants alors q'un
|
||||
seul devrait être nécessaire ?}
|
||||
|
||||
\subsection{fimg2gray}\index{fimg2gray}\label{fimg2gray}
|
||||
@ -915,6 +942,7 @@ choses seront acquises.
|
||||
\item Compléter les traitements mathémathiques (eg le gamma\index{gamma}).
|
||||
\item Formaliser les codes d'erreur. \textbf{Urgent}.
|
||||
\item Faire une passe complète de Valgrind\index{valgrind}.
|
||||
\item Integrer la fonderie et l'interpolator.
|
||||
\end{itemize}
|
||||
|
||||
% -------------------------------------------------------------------
|
||||
@ -958,7 +986,9 @@ encore un peu rudimentaire
|
||||
vers le programme de capture d'image décrit page \pageref{grabvidseq}.
|
||||
Il utilise deux fichiers dans le répertoire de travail~:
|
||||
\textit{reglages} et \textit{compteur}. Le premier est, en fait,
|
||||
un bout de shell affectant quelques variables, ou plutôt, les surchargant.
|
||||
un bout de shell affectant quelques variables, ou plutôt, les surchargeant.
|
||||
|
||||
Voici un exemple de réglage~:
|
||||
|
||||
\begin{lstlisting}
|
||||
OPTIONS="${OPTIONS} -v -c pow2 "
|
||||
@ -1100,7 +1130,8 @@ Donc, maintenant, nous savons un peu tripoter ces images flottantes.
|
||||
Et nous devons nous poser une question fondamentale\footnote{primitive ?}
|
||||
sur la provenance de ces données prétendant être des images.
|
||||
|
||||
En fait, notre désir secret est la découverte des choses cachées du
|
||||
En fait, notre désir secret (enfin, surtout le mien)
|
||||
est la découverte des choses cachées du
|
||||
monde qui nous entoure. Nous voulons des images du \textbf{réel} et
|
||||
pour cela, l'outil le plus commun, le plus répandu,
|
||||
est la webcam\index{webcam}. L'universelle webcam. Et l'incontournable
|
||||
@ -1124,6 +1155,7 @@ options :
|
||||
-O ./ set Output dir
|
||||
-o bla set output filename
|
||||
-p NN.N delay between frames
|
||||
-r 90 mode portrait
|
||||
-s WxH size of capture
|
||||
-u try upscaling...
|
||||
-v increase verbosity
|
||||
|
Loading…
Reference in New Issue
Block a user