从C ++中的AVFrame(FFMPEG)中提取RGB值

时间:2009-06-26 03:39:11

标签: c++ bitmap ffmpeg

我目前正在尝试使用FFMPEG读取视频帧。格式为PIX_FMT_RGB24;对于每个帧,RGB值全部在帧 - > data [0]中组合在一起(其中帧是AVFrame类型)。

如何为每个帧提取单独的R,G和B值?这是用于处理视频。我认为它的工作方式与从位图中提取RGB值的方式相同。谢谢!

1 个答案:

答案 0 :(得分:4)

我的猜测:

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];

我可能会向后退r,g和b。而且还有很大的加速空间。