Compare commits
No commits in common. "bf5058b8d772823cdf363f9347d6d297e2c223df" and "bbea24d65db8d1da034fb42c6f75953f6c0ac19f" have entirely different histories.
bf5058b8d7
...
bbea24d65d
4
Makefile
4
Makefile
@ -11,12 +11,12 @@ all: essai
|
||||
#---------------------------------------------------------------
|
||||
|
||||
essai: essai.c libfloatimg.a floatimg.h Makefile
|
||||
gcc $(COPT) $< $(LDOPT) -lpnglite -lz -o $@
|
||||
gcc $(COPT) $< $(LDOPT) -lpnglite -o $@
|
||||
|
||||
#---------------------------------------------------------------
|
||||
|
||||
TOTAR = *.[ch] Makefile *.sh *.txt \
|
||||
doc/*.tex doc/mkdoc.sh doc/*.txt \
|
||||
doc/*.tex doc/mkdoc.sh \
|
||||
funcs/*.[ch] funcs/Makefile \
|
||||
tools/*.[ch] tools/Makefile \
|
||||
v4l2/*.[ch] v4l2/Makefile \
|
||||
|
@ -150,7 +150,7 @@ lesquels sont décrits en page \pageref{outils}.
|
||||
|
||||
Vous devez, en dehors des outils classiques (bash, gcc, make\dots),
|
||||
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.
|
||||
|
||||
\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
|
||||
le bouzin. Il est loin d'être parfait\footnote{Il doit être possible
|
||||
de faire un Makefile récursif, mais\dots}.
|
||||
Dans chacun des répertoires à traiter, ce script devrait trouver
|
||||
un Makefile et un fichier \texttt{t.c} qui est le source de la cible
|
||||
par défaut du make.
|
||||
Dans chacun des
|
||||
répertoires à traiter, ce script devrait trouver un Makefile et un fichier
|
||||
\texttt{t.c} source de la cible par défaut du make.
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
@ -182,13 +182,13 @@ dans un emplacement approprié, par exemple
|
||||
|
||||
Le script \texttt{install.sh}, à la racine du projet, est censé
|
||||
faciliter un peu la chose. Il prend également en compte la copie
|
||||
des divers binaires du dossier \texttt{tools/} (cf. page \pageref{outils})
|
||||
dans le répertoire prévu à cet effet : \texttt{/usr/local/bin}.
|
||||
des outils (cf. page \pageref{outils}) dans le répertoire
|
||||
prévu à cet effet : \texttt{/usr/local/bin}.
|
||||
|
||||
% -------------------------------------------------------------------
|
||||
\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,
|
||||
\texttt{floatimg.h}, généralement logé dans \texttt{/usr/local/include}
|
||||
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
|
||||
sévèrement controlée par l'appelant. Il y a une fonction
|
||||
soeur, \texttt{fimg\_add\_rgb}\index{fimg\_add\_rgb},
|
||||
qui ajoute du rgb à un pixel, laquelle a d'ailleurs été
|
||||
à la base de la seconde génération de la
|
||||
qui ajoute du rgb à un pixel, laquelle a d'ailleur été
|
||||
la base de la seconde génération de la
|
||||
photographie\index{photographie} en cumul\index{cumul}.
|
||||
|
||||
\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,
|
||||
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
|
||||
le traitement des éventuelles erreurs.
|
||||
les exemples.
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
@ -588,10 +587,6 @@ que votre \texttt{drand48} n'est pas si drand que ça. Séquence angoisse.
|
||||
|
||||
:wq
|
||||
|
||||
\subsection{Fonderie}\index{fonderie}\label{fonderie}
|
||||
|
||||
:wq
|
||||
|
||||
% -------------------------------------------------------------------
|
||||
\section{Video for Linux}\index{v4l2}
|
||||
|
||||
@ -616,7 +611,6 @@ séquences.
|
||||
\begin{verbatim}
|
||||
tth@debian:~/Devel/FloatImg/v4l2$ ./grabvidseq -h
|
||||
options :
|
||||
-c quux contrast adjustement
|
||||
-d /dev/? select video device
|
||||
-g convert to gray
|
||||
-n NNN how many frames ?
|
||||
@ -679,7 +673,7 @@ Options :
|
||||
-v increase verbosity
|
||||
\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
|
||||
ce logiciel doit être pris avec des pincettes. En particulier
|
||||
la liste des résolutions disponibles.
|
||||
@ -696,8 +690,7 @@ en mode portnawak\dots
|
||||
\vspace{1em}
|
||||
|
||||
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},
|
||||
alimenté par une (grosse) batterie et permettant d'aller
|
||||
une webcam \textsc{usb}\index{USB}, alimenté par batterie et permettant d'aller
|
||||
faire des images au bord d'un lac ou dans la campagne de l'Ariège.
|
||||
|
||||
% -------------------------------------------------------------------
|
||||
|
@ -8,7 +8,7 @@ OBJS = fimg-png.o fimg-tiff.o misc-plots.o filtrage.o utils.o \
|
||||
#---------------------------------------------------------------
|
||||
|
||||
t: t.c $(DEPS) ../libfloatimg.a
|
||||
gcc $(COPT) $< ../libfloatimg.a -lnetpbm -lpnglite -lz -lm -o $@
|
||||
gcc $(COPT) $< ../libfloatimg.a -lnetpbm -lpnglite -lm -o $@
|
||||
|
||||
#---------------------------------------------------------------
|
||||
|
||||
|
@ -16,7 +16,7 @@ AR=ar
|
||||
all: $(OBJS) ../libfloatimg.a
|
||||
|
||||
t: t.c ../libfloatimg.a $(DEPS)
|
||||
gcc $(COPT) $< ../libfloatimg.a -lpnglite -lz -lm -o $@
|
||||
gcc $(COPT) $< ../libfloatimg.a -lpnglite -lm -o $@
|
||||
|
||||
# --------------------------------------------
|
||||
|
||||
|
@ -55,10 +55,11 @@ return 0;
|
||||
int fimg_desaturate(FloatImg *src, FloatImg *dst, int k)
|
||||
{
|
||||
int foo, nbb;
|
||||
float fval;
|
||||
|
||||
/* we must check the validity of our parameters */
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* OPERATORS
|
||||
*
|
||||
* operations entre des images.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
@ -67,8 +67,6 @@ for (idx=0; idx<nbpixels; idx++) {
|
||||
b->R[idx] += a->R[idx];
|
||||
b->G[idx] += a->G[idx];
|
||||
b->B[idx] += a->B[idx];
|
||||
/* are we cache-friendly here ?
|
||||
* we need an accurate benchmarking... */
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -30,12 +30,8 @@ fimg2pnm: fimg2pnm.c $(DEPS)
|
||||
gcc $(COPT) $< ../libfloatimg.a -o $@
|
||||
|
||||
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)
|
||||
gcc $(COPT) $< ../libfloatimg.a -limageSO -lm -o $@
|
||||
|
||||
@ -45,5 +41,5 @@ addpnm2fimg: addpnm2fimg.c $(DEPS)
|
||||
|
||||
# if "undefined reference to crc32" then "use -lz"
|
||||
png2fimg: png2fimg.c $(DEPS)
|
||||
gcc $(COPT) $< ../libfloatimg.a -lpnglite -lz -o $@
|
||||
gcc $(COPT) $< ../libfloatimg.a -lpnglite -o $@
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
COPT = -Wall -fpic -g -no-pie -DDEBUG_LEVEL=0
|
||||
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
|
||||
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 $<
|
||||
|
||||
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
|
||||
gcc -Wall -g $< funcs.o v4l2_pr_structs.o -o $@
|
||||
|
Loading…
Reference in New Issue
Block a user