qt使用opencv3设置压缩格式
时间: 2024-01-01 08:03:46 浏览: 90
在 Qt 中使用 OpenCV 3 设置压缩格式的步骤如下:
- 首先,需要在 Qt 中添加 OpenCV 库。在 .pro 文件中添加以下语句:
INCLUDEPATH += /usr/local/include/opencv
LIBS += /usr/local/lib/libopencv_*.so
其中,/usr/local
是 OpenCV 库的安装路径,_*.so
表示需要链接的 OpenCV 库的名称,这里使用通配符 _*.so
表示链接所有的 OpenCV 库。
- 在 Qt 中使用 OpenCV 的 VideoCapture 类读取视频文件,然后设置压缩格式。以下是示例代码:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
VideoCapture cap("test.mp4");
if (!cap.isOpened()) {
qDebug() << "Error opening video file";
return -1;
}
int codec = CV_FOURCC('H', '2', '6', '4'); // 设置压缩格式为 H264
double fps = cap.get(CAP_PROP_FPS);
int width = cap.get(CAP_PROP_FRAME_WIDTH);
int height = cap.get(CAP_PROP_FRAME_HEIGHT);
VideoWriter writer("output.avi", codec, fps, Size(width, height), true);
Mat frame;
while (cap.read(frame)) {
writer.write(frame);
}
cap.release();
writer.release();
return 0;
}
在上述代码中,首先使用 VideoCapture
类打开视频文件,然后使用 CV_FOURCC
宏定义设置压缩格式为 H264。接着,获取视频的帧率、宽度和高度,然后使用 VideoWriter
类创建一个输出视频文件,并设置压缩格式、帧率、宽度和高度。最后,循环读取视频文件中的每一帧图像,并将其写入输出视频文件中。循环结束后,关闭输入和输出视频文件。
注意:不同的压缩格式对应的 CV_FOURCC
宏定义可能不同,具体可以参考 OpenCV 官方文档。
相关推荐
















