Comment faire pour capturer des images fixes à partir d'une webcam sous linux

Je suis en train d'écrire en C++/Qt programme pour linux, où je prends une image de photo à partir d'une webcam, de faire quelques transformations à une photo (recadrage, redimensionnement, etc.), et l'enregistrer dans un fichier jpeg.

Mais j'ai rencontré quelques problèmes. Le principal problème est que standart UVC (usb video device class) pilote linux ne prend actuellement pas en charge directe de capture d'image fixe: http://www.ideasonboard.org/uvc/ .

Donc, il y a deux façons possibles de capture d'image. Vous pouvez prendre une image du flux vidéo de la caméra, ou vous pouvez prendre un distinct photo, comme un digital caméra portable. Le deuxième moyen n'est pas pris en charge sous linux pilote uvc, de sorte que la première méthode est la seule façon. Mais le problème, c'est que si vous voulez prendre une image du flux vidéo, la taille de la photo ne peut pas être plus grande que la taille de la vidéo dans la fenêtre de prévisualisation vidéo. Donc, si je veux profiter de 2 mégapixels photo, je dois commencer à videostream avec la taille 1600x1200, ce qui n'est pas tellement à l'aise (Au moins, dans Qt la taille du fichier vidéo dépend de la videopreview la taille de la fenêtre).

Je sais qu'il y a la vidéo pour linux 2 API, qui peut être utile dans cette tâche, mais je ne sais pas comment l'utiliser. Je suis actuellement en apprentissage de gstreamer, mais je ne peux pas maintenant trouver comment faire ce que j'ai besoin de l'aide de ces outils.

Donc, je vous en seront reconnaissants de l'aide. Je pense que ce n'est pas un problème difficile pour les gens qui connaissent Linux, GStreamer, v4l2 API, et d'autres choses spécifiques à linux.

Par ailleurs, le programme sera utilisé uniquement avec webcam Logitech C270 HD.

S'il vous plaît, m'aider. Je ne sais pas ce que l'API ou cadre peut m'aider à le faire. Peut-être que vous connaissez.

Je ne sais pas si cela peut vous aider, c'est pourquoi je suis en train de monter comme un commentaire. Il y a un oss programme appelé "fromage" qui prend des photos et des enregistrements vidéo. Jetez un oeil ici: apps.ubuntu.com/cat/applications/precise/cheese ... peut-être de prendre un coup d'oeil au code peut vous aider.
Double Possible de Webcam bibliothèque en C sous Linux?

OriginalL'auteur locomotion | 2013-05-04