在OpenCV C++上录制窗口的视频,可以通过以下步骤实现:
#include <opencv2/opencv.hpp>
cv::VideoWriter writer;
writer.open("output.avi", cv::VideoWriter::fourcc('M', 'J', 'P', 'G'), 25, cv::Size(640, 480));
其中,"output.avi"是输出视频文件的名称,'M', 'J', 'P', 'G'是视频编码器的四字符代码,表示使用MJPEG编码器,25是帧率,cv::Size(640, 480)是视频帧的大小。
cv::Mat frame;
while (true) {
// 捕获窗口的图像帧
cv::Mat frame;
cv::imshow("Window", frame);
// 将图像帧写入视频文件
writer.write(frame);
// 检测按键,如果按下Esc键则退出循环
if (cv::waitKey(1) == 27) {
break;
}
}
在循环中,首先使用cv::imshow
函数捕获窗口的图像帧,并显示在窗口中。然后,使用writer.write
函数将图像帧写入视频文件中。最后,使用cv::waitKey
函数检测按键,如果按下Esc键,则退出循环。
writer.release();
cv::destroyAllWindows();
其中,writer.release()
用于释放视频编码器对象,cv::destroyAllWindows()
用于关闭窗口。
这样,就可以在OpenCV C++上录制窗口的视频了。
推荐的腾讯云相关产品:腾讯云视频处理服务(云点播),该服务提供了丰富的视频处理功能,包括视频转码、视频截图、视频水印、视频拼接等,可以满足各种视频处理需求。产品介绍链接地址:https://cloud.tencent.com/product/vod
领取专属 10元无门槛券
手把手带您无忧上云