Compare commits

..

No commits in common. "bf5058b8d772823cdf363f9347d6d297e2c223df" and "bbea24d65db8d1da034fb42c6f75953f6c0ac19f" have entirely different histories.

8 changed files with 23 additions and 35 deletions

View File

@ -11,12 +11,12 @@ all: essai
#--------------------------------------------------------------- #---------------------------------------------------------------
essai: essai.c libfloatimg.a floatimg.h Makefile essai: essai.c libfloatimg.a floatimg.h Makefile
gcc $(COPT) $< $(LDOPT) -lpnglite -lz -o $@ gcc $(COPT) $< $(LDOPT) -lpnglite -o $@
#--------------------------------------------------------------- #---------------------------------------------------------------
TOTAR = *.[ch] Makefile *.sh *.txt \ TOTAR = *.[ch] Makefile *.sh *.txt \
doc/*.tex doc/mkdoc.sh doc/*.txt \ doc/*.tex doc/mkdoc.sh \
funcs/*.[ch] funcs/Makefile \ funcs/*.[ch] funcs/Makefile \
tools/*.[ch] tools/Makefile \ tools/*.[ch] tools/Makefile \
v4l2/*.[ch] v4l2/Makefile \ v4l2/*.[ch] v4l2/Makefile \

View File

@ -150,7 +150,7 @@ lesquels sont décrits en page \pageref{outils}.
Vous devez, en dehors des outils classiques (bash, gcc, make\dots), Vous devez, en dehors des outils classiques (bash, gcc, make\dots),
avoir quelques bibliothèques installées\footnote{Les \texttt{-dev} avoir quelques bibliothèques installées\footnote{Les \texttt{-dev}
pour Debian et dérivées}~: libv4l2, libpnglite, libtiff, libnetpbm, pour Debain et dérivées}~: libv4l2, libpnglite, libtiff, libnetpbm,
et probablement d'autres choses. et probablement d'autres choses.
\vspace{1em} \vspace{1em}
@ -165,9 +165,9 @@ et de l'écriture de Makefile's sera un plus.
Un script \texttt{build.sh} permet de construire approximativement Un script \texttt{build.sh} permet de construire approximativement
le bouzin. Il est loin d'être parfait\footnote{Il doit être possible le bouzin. Il est loin d'être parfait\footnote{Il doit être possible
de faire un Makefile récursif, mais\dots}. de faire un Makefile récursif, mais\dots}.
Dans chacun des répertoires à traiter, ce script devrait trouver Dans chacun des
un Makefile et un fichier \texttt{t.c} qui est le source de la cible répertoires à traiter, ce script devrait trouver un Makefile et un fichier
par défaut du make. \texttt{t.c} source de la cible par défaut du make.
\vspace{1em} \vspace{1em}
@ -182,13 +182,13 @@ dans un emplacement approprié, par exemple
Le script \texttt{install.sh}, à la racine du projet, est censé Le script \texttt{install.sh}, à la racine du projet, est censé
faciliter un peu la chose. Il prend également en compte la copie faciliter un peu la chose. Il prend également en compte la copie
des divers binaires du dossier \texttt{tools/} (cf. page \pageref{outils}) des outils (cf. page \pageref{outils}) dans le répertoire
dans le répertoire prévu à cet effet : \texttt{/usr/local/bin}. prévu à cet effet : \texttt{/usr/local/bin}.
% ------------------------------------------------------------------- % -------------------------------------------------------------------
\section{Utilisation coté codeur}\label{codaz} \section{Utilisation coté codeur}\label{codaz}
Classiquement, il y a un fichier \texttt{.h} à inclure dans chacun de code Classiquement, il y a un fichier à inclure dans chacun de code
source, source,
\texttt{floatimg.h}, généralement logé dans \texttt{/usr/local/include} \texttt{floatimg.h}, généralement logé dans \texttt{/usr/local/include}
contenant un certain nombre de définition de structures, de macros, contenant un certain nombre de définition de structures, de macros,
@ -292,8 +292,8 @@ int fimg_plot_rgb (FloatImg *head, int x, int y,
Les paramètres sont explicites, mais leur validité doit être Les paramètres sont explicites, mais leur validité doit être
sévèrement controlée par l'appelant. Il y a une fonction sévèrement controlée par l'appelant. Il y a une fonction
soeur, \texttt{fimg\_add\_rgb}\index{fimg\_add\_rgb}, soeur, \texttt{fimg\_add\_rgb}\index{fimg\_add\_rgb},
qui ajoute du rgb à un pixel, laquelle a d'ailleurs été qui ajoute du rgb à un pixel, laquelle a d'ailleur é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}.
\subsubsection{Contraste}\index{contraste} \subsubsection{Contraste}\index{contraste}
@ -554,8 +554,7 @@ Il reste plein de choses à faire pour que ce soit vraiment utilisable.
Nous allons \textsl{essayer d'improviser} un exemple presque réel, Nous allons \textsl{essayer d'improviser} un exemple presque réel,
avec un peu de rache\index{rache} dedans. Ce qui est autorisé dans avec un peu de rache\index{rache} dedans. Ce qui est autorisé dans
les exemples, mais dans la vrai vie, il ne faut jamais négliger les exemples.
le traitement des éventuelles erreurs.
\vspace{1em} \vspace{1em}
@ -588,10 +587,6 @@ que votre \texttt{drand48} n'est pas si drand que ça. Séquence angoisse.
:wq :wq
\subsection{Fonderie}\index{fonderie}\label{fonderie}
:wq
% ------------------------------------------------------------------- % -------------------------------------------------------------------
\section{Video for Linux}\index{v4l2} \section{Video for Linux}\index{v4l2}
@ -616,7 +611,6 @@ séquences.
\begin{verbatim} \begin{verbatim}
tth@debian:~/Devel/FloatImg/v4l2$ ./grabvidseq -h tth@debian:~/Devel/FloatImg/v4l2$ ./grabvidseq -h
options : options :
-c quux contrast adjustement
-d /dev/? select video device -d /dev/? select video device
-g convert to gray -g convert to gray
-n NNN how many frames ? -n NNN how many frames ?
@ -679,7 +673,7 @@ Options :
-v increase verbosity -v increase verbosity
\end{verbatim} \end{verbatim}
Je me sens obligé d'avouer qu'il reste quelques points mystérieux dans Je me sois d'avouer qu'il reste quelques points mystérieux dans
l'\textsc{api} de \textsc{v4l2}, et donc, que ce que raconte l'\textsc{api} de \textsc{v4l2}, et donc, que ce que raconte
ce logiciel doit être pris avec des pincettes. En particulier ce logiciel doit être pris avec des pincettes. En particulier
la liste des résolutions disponibles. la liste des résolutions disponibles.
@ -696,8 +690,7 @@ en mode portnawak\dots
\vspace{1em} \vspace{1em}
L'idée est donc de construire un appareil autonome, basé sur un Raspi et L'idée est donc de construire un appareil autonome, basé sur un Raspi et
une webcam \textsc{usb}\index{USB}, pilotable par \textsc{lirc}\index{LIRC}, une webcam \textsc{usb}\index{USB}, alimenté par batterie et permettant d'aller
alimenté par une (grosse) batterie et permettant d'aller
faire des images au bord d'un lac ou dans la campagne de l'Ariège. faire des images au bord d'un lac ou dans la campagne de l'Ariège.
% ------------------------------------------------------------------- % -------------------------------------------------------------------

View File

@ -8,7 +8,7 @@ OBJS = fimg-png.o fimg-tiff.o misc-plots.o filtrage.o utils.o \
#--------------------------------------------------------------- #---------------------------------------------------------------
t: t.c $(DEPS) ../libfloatimg.a t: t.c $(DEPS) ../libfloatimg.a
gcc $(COPT) $< ../libfloatimg.a -lnetpbm -lpnglite -lz -lm -o $@ gcc $(COPT) $< ../libfloatimg.a -lnetpbm -lpnglite -lm -o $@
#--------------------------------------------------------------- #---------------------------------------------------------------

View File

@ -16,7 +16,7 @@ AR=ar
all: $(OBJS) ../libfloatimg.a all: $(OBJS) ../libfloatimg.a
t: t.c ../libfloatimg.a $(DEPS) t: t.c ../libfloatimg.a $(DEPS)
gcc $(COPT) $< ../libfloatimg.a -lpnglite -lz -lm -o $@ gcc $(COPT) $< ../libfloatimg.a -lpnglite -lm -o $@
# -------------------------------------------- # --------------------------------------------

View File

@ -55,10 +55,11 @@ return 0;
int fimg_desaturate(FloatImg *src, FloatImg *dst, int k) int fimg_desaturate(FloatImg *src, FloatImg *dst, int k)
{ {
int foo, nbb; int foo, nbb;
float fval;
/* we must check the validity of our parameters */ /* we must check the validity of our parameters */
if (FIMG_TYPE_RGB != src->type || FIMG_TYPE_RGB != dst->type) { if (FIMG_TYPE_RGB != src->type || FIMG_TYPE_RGB != dst->type) {
fprintf(stderr, "%s : bad image type\n", __func__); fprintf(stderr, "%s : bad image type\n", __func__, src->type, src);
return -18; return -18;
} }

View File

@ -1,7 +1,7 @@
/* /*
* OPERATORS * OPERATORS
* *
* operations entre des images. *
*/ */
#include <stdio.h> #include <stdio.h>
@ -67,8 +67,6 @@ for (idx=0; idx<nbpixels; idx++) {
b->R[idx] += a->R[idx]; b->R[idx] += a->R[idx];
b->G[idx] += a->G[idx]; b->G[idx] += a->G[idx];
b->B[idx] += a->B[idx]; b->B[idx] += a->B[idx];
/* are we cache-friendly here ?
* we need an accurate benchmarking... */
} }
return 0; return 0;

View File

@ -30,12 +30,8 @@ fimg2pnm: fimg2pnm.c $(DEPS)
gcc $(COPT) $< ../libfloatimg.a -o $@ gcc $(COPT) $< ../libfloatimg.a -o $@
fimg2png: fimg2png.c $(DEPS) fimg2png: fimg2png.c $(DEPS)
gcc $(COPT) $< ../libfloatimg.a -lpnglite -lz -o $@ gcc $(COPT) $< ../libfloatimg.a -lpnglite -o $@
#
# this tool require an external library
# http://la.buvette.org/devel/libimage/libimage.html
#
addtga2fimg: addtga2fimg.c $(DEPS) addtga2fimg: addtga2fimg.c $(DEPS)
gcc $(COPT) $< ../libfloatimg.a -limageSO -lm -o $@ gcc $(COPT) $< ../libfloatimg.a -limageSO -lm -o $@
@ -45,5 +41,5 @@ addpnm2fimg: addpnm2fimg.c $(DEPS)
# if "undefined reference to crc32" then "use -lz" # if "undefined reference to crc32" then "use -lz"
png2fimg: png2fimg.c $(DEPS) png2fimg: png2fimg.c $(DEPS)
gcc $(COPT) $< ../libfloatimg.a -lpnglite -lz -o $@ gcc $(COPT) $< ../libfloatimg.a -lpnglite -o $@

View File

@ -3,7 +3,7 @@
COPT = -Wall -fpic -g -no-pie -DDEBUG_LEVEL=0 COPT = -Wall -fpic -g -no-pie -DDEBUG_LEVEL=0
DEPS = ../floatimg.h ../libfloatimg.a Makefile DEPS = ../floatimg.h ../libfloatimg.a Makefile
all: grabvidseq t video-infos all: grabvidseq t
t: t.c Makefile ${DEPS} funcs.o v4l2_pr_structs.o t: t.c Makefile ${DEPS} funcs.o v4l2_pr_structs.o
gcc ${COPT} $< funcs.o v4l2_pr_structs.o ../libfloatimg.a -o $@ gcc ${COPT} $< funcs.o v4l2_pr_structs.o ../libfloatimg.a -o $@
@ -18,7 +18,7 @@ v4l2_pr_structs.o: v4l2_pr_structs.c v4l2_pr_structs.h Makefile
gcc ${COPT} -c $< gcc ${COPT} -c $<
grabvidseq: grabvidseq.c ${DEPS} rgb2fimg.o grabvidseq: grabvidseq.c ${DEPS} rgb2fimg.o
gcc ${COPT} $< rgb2fimg.o ../libfloatimg.a -lz -lm -lv4l2 -o $@ gcc ${COPT} $< rgb2fimg.o ../libfloatimg.a -lm -lv4l2 -o $@
video-infos: video-infos.c Makefile funcs.o v4l2_pr_structs.o video-infos: video-infos.c Makefile funcs.o v4l2_pr_structs.o
gcc -Wall -g $< funcs.o v4l2_pr_structs.o -o $@ gcc -Wall -g $< funcs.o v4l2_pr_structs.o -o $@