grabing floatimb picz from a webcam

This commit is contained in:
2019-08-10 18:37:52 +02:00
parent 016497c870
commit 66cd54f3c6
10 changed files with 175 additions and 32 deletions

View File

@@ -132,10 +132,13 @@ est en fait arbitraire.
\subsection{Structures, macros\dots}
Les pixels flottants d'une image résidant en mémoire centrale
sont décrits par un ensemble
de données (certains appelent ça des \textsl{metadats}) regroupées
dans une jolie structure que nous allons examiner dès maintenant.
\begin{verbatim}
/*
* in memory descriptor
*/
/* in memory descriptor */
typedef struct {
int width;
int height;
@@ -147,6 +150,26 @@ typedef struct {
} FloatImg;
\end{verbatim}\index{FloatImg}
Les deux premiers champs sont \textsl{obvious}.
Le troisième est le type d'image : pour le moment, il y en a trois
qui sont définis\footnote{et plus ou moins bien gérés\dots} :
gris, rgb et rgba\index{rgba}.
\begin{verbatim}
#define FIMG_TYPE_GRAY 1
#define FIMG_TYPE_RGB 3
#define FIMG_TYPE_RGBA 4
\end{verbatim}
Les deux champs suivants (fval et count) sont à la disposition du yuser
qui peut jouer avec à loisir.
Et pour finir dans la joie, nous avons les pointeurs vers les
différents \textsl{pixmaps} de l'image.
\subsection{lib/}\index{lib/}
@@ -160,10 +183,20 @@ int fimg_destroy(FloatImg *fimg);
Les types d'images actuellement gérés sont les trois grands
classiques : gray, rgb et rgba. Il y a les constantes adéquates
dans \texttt{floatimg.h}.
dans \texttt{floatimg.h}. Les codes d'erreur sont disparates
et non documenté.
\vspace{1em}
Bon, vous avez une image latente, et
vous souhaité dessiner dessus (ou dedans ?) avec vos encres
flottantes ?
\subsection{funcs/}\index{funcs/}
Une bonne partie de ces fonctions est indéterministe. Ce qui
veut dire, en langage de tous les soirs, que ça risque de ne
pas être la même chose dans l'avenir.
% -------------------------------------------------------------------
\section{Les outils}\label{outils}
@@ -173,7 +206,12 @@ in-fine sur des objets que l'on peut considérer comme « physiques »,
il est important de passer à une utilisation
normale\footnote{Il y a une vie en dehors de git.} et construire
des trucs qui mettent en action le code primitif.
% \vspace{1em}
\vspace{1em}
Ces machins ont en commun deux options bien pratiques~:
\texttt{-h} pour avoir un résumé des options disponibles
et \texttt{-v} qui augmente la puissance de bavardage.
Dans un avenir incertain, il existera des pages de man\index{man}.
\subsection{mkfimg}\index{mkfimg}\label{mkfimg}
@@ -185,12 +223,26 @@ Création d'un fichier contenant une image de teinte constante.
Affichage de quelques valeurs calculées à partir d'un fichier
\texttt{.fimg}\index{.fimg}.
\subsection{fimg2png et fimg2pnm}
\index{fimg2png}\label{fimg2png}
\index{fimg2pnm}\label{fimg2pnm}
Deux petits proggies pour exporter notre format\index{.fimg} secret
vers des choses plus directement utilisables.
% -------------------------------------------------------------------
\section{Video for Linux}\index{v4l2}
Donc, maintenant, nous savons un peu tripoter des images flottantes.
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.
\vspace{1em}
En fait, notre désir secret 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.
% -------------------------------------------------------------------
\section{Et pour la suite ?}
@@ -199,7 +251,8 @@ En fait, je fait de la photo par la méthode du « cumul »
depuis plusieurs années. Une webcam\index{webcam},
un Linux\index{Linux}, et ça \textsl{juste marche}.
Sauf que c'est quand même un peu galère à déplacer, il faut
avoir un shell pour déclencher, c'est pas facile\dots
avoir un shell pour déclencher, c'est pas facile à utiliser
en mode portnawak\dots
% -------------------------------------------------------------------