gpt4 book ai didi

c++ - 如何读取 .avi 文件 C++

转载 作者:太空狗 更新时间:2023-10-29 23:47:22 32 4
gpt4 key购买 nike

我想读入我正在制作的程序的 .avi 视频文件。我将文件位置保存为 string。是否有任何关于在 C++ 中使用 .avi 文件的好教程,或者有人知道应该读谁的教程吗?和普通文件一样吗?

我有一个 previously asked SO question这更详细,但这是我想做的:

我正在制作一个程序来检测面部(通过 OpenCV)截至目前,我已经获得了一个视频处理器程序,该程序将检测帧上的每个面部,并将该帧作为图像和 CvRec 的面孔。我想拍摄这些面孔并对其进行测试,以验证它们都是真实的面孔。

在我拥有所有面孔(已测试)之后,我想拍摄图像并一起测试它们。我测试每一帧上的面部大小和距离变化。如果面部在两秒的帧长内通过此,那么我想裁剪面部并使其成为每一帧的主题。

裁剪每一帧后,我想为用户保存新的视频文件。

希望对您有所帮助。如果有人需要更好的解释,请告诉我。

最佳答案

首先,介绍一下背景。

什么是 AVI?
AVI 代表音频视频交错。它是 RIFF(资源交换文件格式) 的特例。 AVI 由 Microsoft 定义,是最常见的音频/视频数据格式。

我假设您想要读取一个 avi 文件并对压缩的视频帧进行解码。 AVI 文件就像任何其他普通文件一样,您可以使用 fread()(在 C 中)或 iostream (在 C++ 中)打开一个 avi 文件并读取它的内容。但是 avi 文件的内容是压缩格式的视频帧。压缩允许更大尺寸的视频内容有效地打包在更少的内存空间中。要理解此压缩数据,您必须解码编码数据格式。您必须研究描述如何完成 AVI 编码然后提取和解码帧的标准。现在,当将此原始视频数据馈送到视频设备时,将以视频格式显示。

关于c++ - 如何读取 .avi 文件 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5899444/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com