Domanda

Sto scrivendo un programma, che farà alcune trasformazioni con l'immagine da una webcam in tempo reale. Come quasi tutte le altre webcam, il mio noname fornisce dati in formato YUY2 (come scritto nel bmiHeader.biCompression). Ho provato conversione dritto lato CPU secondo http://www.fourcc.org/yuv.php # YUY2 , ma è molto lento e sbagliato:.)

Quando si collega pin di uscita source per renderer, immagine e framerate stanno bene.

Quindi sto cercando un filtro DirectShow, o, forse, un po 'di codec, che farà la conversione veloce da YUY2 a RGB24 sulla scheda video e darò me risultato senza renderlo sullo schermo.

sto usando:

  • 32 bit di Windows XP SP3.
  • VC ++ 2005
  • dominante di Windows SDK.
  • DirectX August'09.
È stato utile?

Soluzione

Non ho il codice disponibile al momento. ma dare un'occhiata al utilizzando il GDI per eseguire la conversione la sua molto veloce.

Fondamentalmente catturare il fotogramma sorgente, creare un dib memoria nel formato corretto (RGB24) e blit alla bitmap. la conversione si verifica durante la blitting e nella mia esperienza è molto veloce.

Uso questo per afferrare fotogrammi da una webcam e poi posso cadere i frame sul disco rigido al frame rate richiesto sia come JPEG o bitmap.

DC

Altri suggerimenti

È possibile utilizzare VirtualDub Kasumi biblioteca http://virtualdub.sourceforge.net/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top