Compare commits
3 Commits
5758f1c932
...
2f01b6b9bf
Author | SHA1 | Date | |
---|---|---|---|
2f01b6b9bf | |||
205816b618 | |||
0b644f7803 |
@ -1,4 +1,4 @@
|
|||||||
\documentclass[a4paper,11pt]{article}
|
\documentclass[a4paper,10pt]{article}
|
||||||
|
|
||||||
% \listfiles % pour le debug
|
% \listfiles % pour le debug
|
||||||
|
|
||||||
@ -102,12 +102,21 @@ sous formes d'outils en ligne de commande, décrits page \pageref{outils}.
|
|||||||
% -------------------------------------------------------------------
|
% -------------------------------------------------------------------
|
||||||
\section{Installation}
|
\section{Installation}
|
||||||
|
|
||||||
Pour le moment, la procédure d'installation est un peu rude,
|
\subsection{Prérequis}
|
||||||
pour ne pas dire clairement sommaire.
|
|
||||||
|
Vous devez, en dehors des outils classiques (gcc, make\dots),
|
||||||
|
avoir quelques bibliothèques installées\footnote{Les \texttt{-dev}
|
||||||
|
pour Debain et dérivées}~: libv4l2, libpnglite, libtiff, et
|
||||||
|
probablement d'autres choses.
|
||||||
|
|
||||||
|
\subsection{Compilation}
|
||||||
|
|
||||||
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.
|
le bouzin. Il est loin d'être parfait.
|
||||||
\vspace{1em}
|
\vspace{1em}
|
||||||
|
|
||||||
|
Pour le moment, la procédure d'installation est un peu rude,
|
||||||
|
pour ne pas dire clairement sommaire.
|
||||||
Si le résultat vous semble correct, vous pouvez copier
|
Si le résultat vous semble correct, vous pouvez copier
|
||||||
les deux fichiers \texttt{floatimg.h} et \texttt{libfloatimg.a}
|
les deux fichiers \texttt{floatimg.h} et \texttt{libfloatimg.a}
|
||||||
dans un emplacement
|
dans un emplacement
|
||||||
@ -277,7 +286,12 @@ de méthodes, toutes plus légitimes que les autres.
|
|||||||
Il reste plein de choses à faire pour que ce soit vraiment utilisable.
|
Il reste plein de choses à faire pour que ce soit vraiment utilisable.
|
||||||
\vspace{1em}
|
\vspace{1em}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
|
||||||
|
\item Import/export au format \textsc{tiff}\index{tiff}.
|
||||||
|
\item Compléter les traitements mathémathiques (eg le gamma\index{gamma}).
|
||||||
|
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
% -------------------------------------------------------------------
|
% -------------------------------------------------------------------
|
||||||
\section{Video for Linux}\index{v4l2}
|
\section{Video for Linux}\index{v4l2}
|
||||||
@ -293,6 +307,25 @@ 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
|
||||||
v4l2.
|
v4l2.
|
||||||
|
|
||||||
|
\subsection{grabvidseq}\index{grabvidseq}\label{grabvidseq}
|
||||||
|
|
||||||
|
Un logiciel en devenir, qui permet déja la capture d'images en
|
||||||
|
\textsl{longue pose} selon la méthode du cumul\index{cumul}.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
tth@debian:~/Devel/FloatImg/v4l2$ ./grabvidseq -h
|
||||||
|
options :
|
||||||
|
-d /dev/? select video device
|
||||||
|
-g convert to gray
|
||||||
|
-n NNN how many frames ?
|
||||||
|
-O ./ set Output dir
|
||||||
|
-o bla set output filename
|
||||||
|
-p NN.N period in seconds
|
||||||
|
-s WxH size of capture
|
||||||
|
-u try upscaling...
|
||||||
|
-v increase verbosity
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
% -------------------------------------------------------------------
|
% -------------------------------------------------------------------
|
||||||
\section{Et pour la suite ?}
|
\section{Et pour la suite ?}
|
||||||
|
|
||||||
|
@ -288,7 +288,7 @@ for (i = 0; i < nbre_capt; i++) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
xioctl(fd, VIDIOC_QBUF, &buf);
|
xioctl(fd, VIDIOC_QBUF, &buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
t_final = fimg_timer_get(0);
|
t_final = fimg_timer_get(0);
|
||||||
fprintf(stderr, "pid %d : elapsed %g s -> %.2f fps\n", getpid(),
|
fprintf(stderr, "pid %d : elapsed %g s -> %.2f fps\n", getpid(),
|
||||||
@ -301,6 +301,7 @@ if (to_gray) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// save cumul to file
|
// save cumul to file
|
||||||
|
if (verbosity) fprintf(stderr, "saving to '%s'\n", outfile);
|
||||||
foo = fimg_save_as_pnm(&cumul, outfile, 0);
|
foo = fimg_save_as_pnm(&cumul, outfile, 0);
|
||||||
|
|
||||||
// free buffers
|
// free buffers
|
||||||
@ -313,6 +314,8 @@ for (i = 0; i < n_buffers; ++i) {
|
|||||||
v4l2_munmap(buffers[i].start, buffers[i].length);
|
v4l2_munmap(buffers[i].start, buffers[i].length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// free(buffers); /* atomic bombing */
|
||||||
|
|
||||||
v4l2_close(fd);
|
v4l2_close(fd);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -28,8 +28,8 @@ if ( d->width != w*2 || d->height != h*2 ) {
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
ox = ! (modz & 2);
|
ox = ! ! (modz & 2);
|
||||||
oy = ! (modz & 1);
|
oy = ! ! (modz & 1);
|
||||||
|
|
||||||
if (verbosity>2) fprintf(stderr, "%s %5d %d %d\n", __func__,
|
if (verbosity>2) fprintf(stderr, "%s %5d %d %d\n", __func__,
|
||||||
modz, ox, oy);
|
modz, ox, oy);
|
||||||
|
Loading…
Reference in New Issue
Block a user