Question

J'écris un programme, qui fera quelques transformations avec l'image d'une webcam en temps réel. Comme presque toutes les autres webcams, mon noname fournit des données au format YUY2 (comme écrit dans bmiHeader.biCompression). J'ai essayé la conversion droite sur le côté du processeur selon http://www.fourcc.org/yuv.php # YUY2 , mais il est très lent et mal.)

Lorsque je connecte la broche de sortie de la source à renderer, image et framerate sont bien.

Je suis à la recherche d'un filtre DirectShow, ou, peut-être, un certain codec, qui va faire la conversion rapide de YUY2 à RGB24 sur la carte vidéo et me donnera sans résultat le rendu à l'écran.

J'utilise:

  • 32 bits de Windows XP SP3.
  • VC ++ 2005
  • Récemment téléchargé Windows SDK.
  • DirectX August'09.
Était-ce utile?

La solution

Je n'ai pas le code disponible pour le moment. mais jetez un oeil à l'aide de la GDI pour effectuer la conversion de son très rapide.

Fondamentalement capturer l'image source, créer un dib de mémoire dans le format correct (RGB24) et blit à l'image bitmap. la conversion se produit au cours de la blitting et mon expérience est très rapide.

Je l'utiliser pour saisir les cadres d'une webcam et je peux déposer les images sur le disque dur à la fréquence d'image requise soit comme jpegs ou bitmaps.

DC

Autres conseils

Vous pouvez utiliser la bibliothèque VirtualDub Kasumi http://virtualdub.sourceforge.net/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top