forked from tTh/FloatImg
		
	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