Extraire les valeurs RVB d'un AVFrame (FFMPEG) en C ++
Question
J'essaie actuellement de lire des images vidéo en utilisant FFMPEG. Le format est PIX_FMT_RGB24; Pour chaque image, les valeurs RVB sont toutes combinées ensemble dans l'image - & Gt; data [0] (où l'image est du type AVFrame).
Comment extraire les valeurs individuelles R, V et B pour chaque image? Ceci est pour le traitement de la vidéo. Je pense que cela fonctionnerait de la même manière que d'extraire les valeurs RVB d'un bitmap. Merci!
La solution
À mon avis:
int p=x*3+y*frame->linesize[0];
r=frame->data[0][p];
g=frame->data[0][p+1];
b=frame->data[0][p+2];
Je pourrais avoir r, g et b en arrière. Et il y a beaucoup de place pour l'accélération.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow