C++ 访问AVFrame的每个像素

C++ 访问AVFrame的每个像素,c++,ffmpeg,C++,Ffmpeg,我需要访问FFMPEG的AVFrame对象的每个像素信息(如果是RGB,那么每个像素的每个颜色、R、G和B) 我如何才能做到这一点?如果您已经进入了正确的框架,例如: img_convert_ctx = ffmpeg::sws_getCachedContext(img_convert_ctx,w, h, pCodecCtx->pix_fmt, w, h, ffmpeg::PIX_FMT_RGB24, SWS_BICUBIC, NULL, NULL, NULL); ffmpeg::sws

我需要访问FFMPEG的AVFrame对象的每个像素信息(如果是RGB,那么每个像素的每个颜色、R、G和B)


我如何才能做到这一点?

如果您已经进入了正确的框架,例如:

img_convert_ctx = ffmpeg::sws_getCachedContext(img_convert_ctx,w, h, pCodecCtx->pix_fmt, w, h, ffmpeg::PIX_FMT_RGB24, SWS_BICUBIC, NULL, NULL, NULL);

 ffmpeg::sws_scale(img_convert_ctx, pFrame->data, pFrame->linesize, 0, pCodecCtx->height, pFrameRGB->data, pFrameRGB->linesize);

 //Data is in pFrameRGB->data

从pFrameRGB->数据中获取r、g和b值是困难的部分。我已经阅读了很多代码和示例,但仍然无法理解。您是否可以编辑您的帖子,以展示如何迭代pFrameRGB->data并使用printf打印r、g和b值?这不仅对我有帮助,而且对其他很多不得不绞尽脑汁去弄明白这一点的人也有帮助。我还发现这些信息很有帮助,因为弄明白libav编程不是一件容易的事情。