如何在opencv中的两个窗口中显示不同的每秒帧数的视频
How to show different Frame per second of video in two window in opencv
我正在使用opencv来显示相机中的帧。我想在两个分隔窗口中显示这些帧。我想在第一个窗口中显示相机的真实帧(每30毫秒显示一帧),并在第二个窗口中延迟显示帧(这意味着它将在每1秒后显示帧)。有可能完成那项任务吗。我试着用我的代码做这件事,但它不太好用。请给我一个使用opencv和visualstudio2012来完成该任务的解决方案。提前感谢
这是我的代码
VideoCapture cap(0);
if (!cap.isOpened())
{
cout << "exit" << endl;
return -1;
}
namedWindow("Window 1", 1);
namedWindow("Window 2", 2);
long count = 0;
Mat face_algin;
while (true)
{
Mat frame;
Mat original;
cap >> frame;
if (!frame.empty()){
original = frame.clone();
cv::imshow("Window 1", original);
}
if (waitKey(30) >= 0) break;// Delay 30ms for first window
}
您可以编写循环,以视频文件名为参数在单个函数中显示帧,并通过多线程同时调用它们。
伪代码看起来像
void* play_video(void* frame_rate)
{
// play at specified frame rate
}
main()
{
create_thread(thread1, play_video, normal_frame_rate);
create_thread(thread2, play_video, delayed_frame_rate);
join_thread(thread1);
join_thread(thread2);
}
相关文章:
- 字符串-C++后显示的随机字符
- 如何在c++中录制具有精确帧时间戳的视频
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- 这两个代码片段相似,但显示的结果不同
- Visual Studio C++ 它只构建选项卡中显示的文件吗?
- 将信息输入到下面显示的结构向量中的正确语法/格式是什么
- 使用 IMFSinkWriter 编码的视频的播放速度会根据宽度而变化
- 创建具有验证和语法突出显示的自定义 printf
- 为什么strlen(s)与s的大小不同,为什么cout-char显示的是字符而不是数字
- 无法获取要在 OpenGL ES2 中显示的 RGB 纹理
- OpenCV没有显示来自Macbook网络摄像头的视频
- 直接显示来自视频输入的 YUY2 像素输出
- 在来自相机的视频上显示一个矩形
- 在opencv中显示文件中的视频
- 显示每帧更新的视频直方图
- 读取和显示opencv视频的程序工作不正常
- OpenCV中的视频显示窗口大小不适合视频
- SDL 1.3:如何在不显示的情况下渲染视频
- 如何在opencv中的两个窗口中显示不同的每秒帧数的视频
- 使用什么Qt GUI容器?还有相关的视频显示问题- Windows 7