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}
 | 
					\subsection{Dynamique}\index{dynamique}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Dynamique, précision et macheps.
 | 
					Dynamique, précision et \textsl{macheps} ?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\subsection{Pixel négatif ?}
 | 
					\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
 | 
					pouvoir aussi exister à long terme en étant stocké dans la matrice
 | 
				
			||||||
est tout aussi pertinent. Il y a deux opérations qui supportent le
 | 
					est tout aussi pertinent. Il y a deux opérations qui supportent le
 | 
				
			||||||
reste des transits ram/ps.
 | 
					reste des transits ram/ps.
 | 
				
			||||||
 | 
					Le format des fichiers est décrit page \pageref{formatfimg}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\begin{lstlisting}
 | 
					\begin{lstlisting}
 | 
				
			||||||
int fimg_dump_to_file(FloatImg *fimg, char *fname, int notused);
 | 
					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
 | 
					Si la valeur retournée est différente de 0, c'est que quelque
 | 
				
			||||||
chose s'est mal passé.
 | 
					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
 | 
					Là aussi, il n'y a aucun contrôle sur la validité des valeurs
 | 
				
			||||||
$x$ et $y$ de la demande.
 | 
					$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}
 | 
					\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}.
 | 
					de contraste, il y a quelques explication en page \pageref{exemplefunc}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
\begin{figure}[h]
 | 
					\begin{figure}[h]
 | 
				
			||||||
\input{cos010.tex}				% XXX XXX XXX 
 | 
					\input{cos010.tex}				% XXX XXX XXX 
 | 
				
			||||||
\caption{Correcteur cos010}
 | 
					\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
 | 
					La prochaine étape consistera à trouver une façon de faire
 | 
				
			||||||
une égalisation\index{égalisation} par histogramme\index{histogramme}
 | 
					une égalisation\index{égalisation} par histogramme\index{histogramme}
 | 
				
			||||||
qui respecte, dans toute sa futilité,  le concept\index{concept}
 | 
					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
 | 
					L'image de destination peut être soit vierge, soit pré-allouée
 | 
				
			||||||
aux bonnes dimensions (échange W et H).
 | 
					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}
 | 
					\subsection{Exportation \& Importation}\index{export}\label{export}
 | 
				
			||||||
@ -603,7 +626,7 @@ To be done\index{XXX}
 | 
				
			|||||||
\subsubsection{Vers FITS}\index{FITS}
 | 
					\subsubsection{Vers FITS}\index{FITS}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Ce format est essentiellement utilisé pour stocker des images
 | 
					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}
 | 
					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
 | 
					La fonction \texttt{int format\_from\_extension(char *fname)} examine un
 | 
				
			||||||
nom defichier tel que \texttt{lena.xxx}, et retourne, si la partie
 | 
					nom de fichier tel que \texttt{lena.xxx}, et retourne, si la partie
 | 
				
			||||||
\texttt{xxx} un éventuel nombre positif, dont les valeurs sont dans floatimg.h
 | 
					\texttt{xxx} est connue, un éventuel nombre positif, dont les valeurs sont
 | 
				
			||||||
 | 
					déclarées dans floatimg.h
 | 
				
			||||||
le valeureux.
 | 
					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
 | 
					To be continued\index{XXX}\dots
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\subsection{Effets}\index{sfx}
 | 
					\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}
 | 
					\begin{lstlisting}
 | 
				
			||||||
int fimg_killcolors_a(FloatImg *fimg, float fval);
 | 
					int fimg_killcolors_a(FloatImg *fimg, float fval);
 | 
				
			||||||
int fimg_killcolors_b(FloatImg *fimg, float fval);
 | 
					int fimg_killcolors_b(FloatImg *fimg, float fval);
 | 
				
			||||||
 | 
					int fimg_colors_mixer_a(FloatImg *fimg, float fval);
 | 
				
			||||||
\end{lstlisting}
 | 
					\end{lstlisting}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -875,10 +901,11 @@ de qualitay.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
%		-------------------------
 | 
					%		-------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\subsection{fimg2png, fimg2pnm, fimg2tiff}
 | 
					\subsection{fimg2png, fimg2pnm, fimg2tiff, fimg2fits}
 | 
				
			||||||
		\index{fimg2png}\label{fimg2png}
 | 
							\index{fimg2png}\label{fimg2png}
 | 
				
			||||||
		\index{fimg2pnm}\label{fimg2pnm}
 | 
							\index{fimg2pnm}\label{fimg2pnm}
 | 
				
			||||||
		\index{fimg2tiff}\label{fimg2tiff}
 | 
							\index{fimg2tiff}\label{fimg2tiff}
 | 
				
			||||||
 | 
							\index{fimg2fits}\label{fimg2fits}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Quelques petits proggies pour exporter notre format\index{.fimg} secret
 | 
					Quelques petits proggies pour exporter notre format\index{.fimg} secret
 | 
				
			||||||
vers des choses plus directement utilisables. À condition que le
 | 
					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}
 | 
					Gimp\index{Gimp} ou ImageMagick\index{ImageMagick} ou Krita\index{krita}
 | 
				
			||||||
ne devrait pas être trop difficile. Des volontaires ?
 | 
					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 ?}
 | 
					seul devrait être nécessaire ?}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\subsection{fimg2gray}\index{fimg2gray}\label{fimg2gray}
 | 
					\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	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}.
 | 
					\item	Faire une passe complète de Valgrind\index{valgrind}.
 | 
				
			||||||
 | 
					\item	Integrer la fonderie et l'interpolator.
 | 
				
			||||||
\end{itemize}
 | 
					\end{itemize}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
% -------------------------------------------------------------------
 | 
					% -------------------------------------------------------------------
 | 
				
			||||||
@ -958,7 +986,9 @@ encore un peu rudimentaire
 | 
				
			|||||||
vers le programme de capture d'image décrit page \pageref{grabvidseq}.
 | 
					vers le programme de capture d'image décrit page \pageref{grabvidseq}.
 | 
				
			||||||
Il utilise deux fichiers dans le répertoire de travail~:
 | 
					Il utilise deux fichiers dans le répertoire de travail~:
 | 
				
			||||||
\textit{reglages} et \textit{compteur}. Le premier est, en fait,
 | 
					\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}
 | 
					\begin{lstlisting}
 | 
				
			||||||
OPTIONS="${OPTIONS} -v -c pow2 "
 | 
					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 ?}
 | 
					Et nous devons nous poser une question fondamentale\footnote{primitive ?}
 | 
				
			||||||
sur la provenance de ces données prétendant être des images.
 | 
					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
 | 
					monde qui nous entoure. Nous voulons des images du \textbf{réel} et
 | 
				
			||||||
pour cela, l'outil le plus commun, le plus répandu,
 | 
					pour cela, l'outil le plus commun, le plus répandu,
 | 
				
			||||||
est la webcam\index{webcam}. L'universelle webcam. Et l'incontournable
 | 
					est la webcam\index{webcam}. L'universelle webcam. Et l'incontournable
 | 
				
			||||||
@ -1124,6 +1155,7 @@ options :
 | 
				
			|||||||
        -O ./           set Output dir
 | 
					        -O ./           set Output dir
 | 
				
			||||||
        -o bla          set output filename
 | 
					        -o bla          set output filename
 | 
				
			||||||
        -p NN.N         delay between frames
 | 
					        -p NN.N         delay between frames
 | 
				
			||||||
 | 
					        -r 90           mode portrait
 | 
				
			||||||
        -s WxH          size of capture
 | 
					        -s WxH          size of capture
 | 
				
			||||||
        -u              try upscaling...
 | 
					        -u              try upscaling...
 | 
				
			||||||
        -v              increase verbosity
 | 
					        -v              increase verbosity
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user