C++ opencv中的视频数据

C++ opencv中的视频数据,c++,c,opencv,video-capture,C++,C,Opencv,Video Capture,谁能告诉我视频数据在ffmpeg解码后以什么格式保存在opencv中。我的意思是,如果它被保存为矩阵,那么它是8bit/像素之类的东西吗?如果有人能提供一些文件或链接详细解释将是一个很大的帮助。我也尝试过谷歌,但找不到相关的东西 谢谢。要检查的最终参考可能是代码本身!查看文件modules/highgui/src/cap\FFMPEG\u impl.hpp中的函数CvCapture\u FFMPEG::open。例如,cvCaptureFromAVI()和cvCaptureFromFile()调

谁能告诉我视频数据在ffmpeg解码后以什么格式保存在opencv中。我的意思是,如果它被保存为矩阵,那么它是8bit/像素之类的东西吗?如果有人能提供一些文件或链接详细解释将是一个很大的帮助。我也尝试过谷歌,但找不到相关的东西


谢谢。

要检查的最终参考可能是代码本身!查看文件
modules/highgui/src/cap\FFMPEG\u impl.hpp
中的函数
CvCapture\u FFMPEG::open
。例如,
cvCaptureFromAVI()
cvCaptureFromFile()
调用此方法。下面摘录的代码清楚地从文件中获取宽度和高度,但它忽略了输入位深度,并始终使用内存中视频的压缩8:8:8位RGB表示(如
PIX\u FMT\u BGR24
常量所示):

CvCapture\u FFMPEG::retrieveFrame
中的以下代码提供了这种情况的进一步证据:

img_convert_ctx = sws_getCachedContext(
                NULL,
                video_st->codec->width, video_st->codec->height,
                video_st->codec->pix_fmt,
                video_st->codec->width, video_st->codec->height,
                PIX_FMT_BGR24,
                SWS_BICUBIC,
                NULL, NULL, NULL
                );

查看ffmpeg文档,此调用中的
PIX\u FMT\u BGR24
指定了目标像素格式,即将传递给opencv的内容。

看起来视频格式是由用户选择的。顺便说一下,用谷歌搜索大约需要3秒钟。请记得在询问之前进行研究。谢谢你的评论。但我想知道,它是以矩阵格式还是类似的格式保存的?上面的链接并没有真正描述我的要求。非常感谢。我会检查ffmpeg文档,如果我有更多疑问,会给你回复。
img_convert_ctx = sws_getCachedContext(
                NULL,
                video_st->codec->width, video_st->codec->height,
                video_st->codec->pix_fmt,
                video_st->codec->width, video_st->codec->height,
                PIX_FMT_BGR24,
                SWS_BICUBIC,
                NULL, NULL, NULL
                );