`
haibuo1981
  • 浏览: 51773 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

OpenCV的imshow无法正常显示视频

阅读更多
OpenCV2.2,vs2010,win7

程序读一段视频,然后进行分析处理,在显示视频的时候,却发现imshow无法显示读取的帧。代码如下:
VideoCapture cap;
cap.open("test.avi");
namedWindow("video",1);
for(;;){
 Mat frame;
 cap<<frame;
 if(frame.empty())
	break;
 imshow("video",frame);
 //waitKey(30)
}


跟踪了一下,发现确实是读入了帧,只是在显示的时候没有出来。
在网上查了下文档,原来是循环中,highgui没有给予imshow绘制处理的时间。需要在imshow添加waitKey(30)
引用
A common mistake for opencv newcomers is to call cv::imshow() in a loop through video frames, without following up each draw with cv::waitKey(30). In this case, nothing appears on screen, because highgui is never given time to process the draw requests from cv::imshow().

来自:http://stackoverflow.com/questions/5217519/opencv-cvwaitkey
1
0
分享到:
评论
1 楼 haibuo1981 2012-02-10  
先前的描述有问题,已修正

相关推荐

    python OpenCV imshow()中文乱码问题解决方法之一

    python OpenCV imshow()中文乱码问题解决方法之一

    OpenCV实现同一窗口显示多幅图片

    首先,我们需要了解`imshow`函数是OpenCV中用于显示图像的关键函数。它接受两个参数:一个窗口名称和要显示的图像。当窗口名称相同,OpenCV会在同一个窗口中显示多张图片,而不会关闭或覆盖先前的图像。 下面是一段...

    在MFC的控件中实现OPENCV的摄像头显示

    在MFC(Microsoft Foundation Classes)框架中集成OpenCV库,以实现摄像头的实时显示,是一项融合了Windows编程、用户界面设计以及计算机视觉技术的任务。MFC是微软为C++开发者提供的一个面向对象的类库,它简化了...

    linux下解决opencv多线程显示图像失败的问题

    linux下解决opencv多线程显示图像失败的问题。主要就是用过一个单独的线程来显示所有图像 代码解析:https://blog.csdn.net/qq_39638989/article/details/117675371?spm=1001.2014.3001.5501

    OpenCV读取摄像头显示到c#winform窗体上或pictureBox控件上

    在C#编程环境下,结合Windows Forms(winform)应用开发,我们可以利用OpenCV来实现实时捕获摄像头视频并显示在窗体上的功能。在本教程中,我们将专注于如何将OpenCV与C# WinForm应用结合,特别是如何将摄像头的实时...

    linux opencv多线程显示

    多线程技术结合OpenCV可以提高程序的执行效率,特别是在处理大量图像或者实时视频流时。本篇将深入探讨如何在Linux上利用OpenCV进行多线程图像显示。 首先,我们需要理解Linux中的多线程概念。在Linux操作系统中,...

    opencv多视频同一窗口显示C++程序

    OpenCV库包含了处理图像和视频的类和函数,如`VideoCapture`用于读取视频,`Mat`用于存储图像数据,以及`imshow`用于在窗口中显示图像。 程序的核心在于创建多个`VideoCapture`对象,分别对应输入的两个视频文件。...

    OpenCV两种方法显示中文

    OpenCV两种方法显示中文(一种配置CvxText和FreeType库,一种不需要配置库),默认环境VS2012+OpenCV249。

    简单的OpenCV实现摄像头实时显示和视频录制源代码(C++)

    在本文中,我们将深入探讨如何使用OpenCV库在C++中实现摄像头的实时显示和视频录制功能。OpenCV,全称Open Source Computer Vision Library,是一个强大的计算机视觉库,广泛应用于图像处理、机器学习以及视频分析等...

    Qt捕获Opencv窗体并加载到界面

    1、Qt捕获Opencv窗体cv::imshow并加载到界面 2、使用OpenCV、RTSP打开摄像头 3、适合初学者,涉及到Hand句柄基础知识,请自行查找 4、本人使用Qt5.10.0、vs2015、opencv3.4.3,必须在运行根目录添加opencv动态库或将...

    opencv单窗口显示多张图片

    1. **OpenCV库**:OpenCV(开源计算机视觉库)是一个跨平台的计算机视觉库,包含了大量的图像和视频处理函数。它广泛应用于图像分析、机器学习、人脸识别等领域。 2. **图像加载**:在OpenCV中,我们通常使用`...

    opencv打开rtsp视频流并显示视频

    本教程将详细讲解如何使用OpenCV在Visual Studio 2008环境下,结合RTSP(Real-Time Streaming Protocol)协议来打开并显示视频流。 首先,RTSP是一种应用层协议,主要用于控制实时数据的传输,如视频和音频流。它...

    008_OpenCV 影像讀取儲存(imread、imshow、imwrite) _ 阿洲的程式教學1

    本文将详细介绍如何使用OpenCV的`imread`、`imshow`和`imwrite`函数来读取、显示和保存图像。这三个函数是OpenCV中处理图像的基本操作,适用于各种图像处理和计算机视觉任务。 首先,我们需要包含必要的头文件。在...

    如何使用opencv修改视频的播放速度

    在计算机视觉领域,OpenCV(开源计算机视觉库)是一个强大的工具,用于图像和视频处理。在本教程中,我们将深入探讨如何使用OpenCV修改视频的播放速度,这涉及到帧率的调整,使得视频可以加速播放或者减速播放。我们...

    opencv 读取本地视频实时传输并在服务端实时显示

    本文将详细探讨如何使用OpenCV库读取本地视频,并通过TCP协议实现实时传输到服务端,以便服务端能够实时显示视频内容。 首先,OpenCV是一个强大的开源计算机视觉库,它提供了丰富的图像和视频处理功能。在读取本地...

    opencv写视频并显示

    在OpenCV库中,写入视频并同时在视频帧上显示文字是一项常见的任务,尤其在计算机视觉和图像处理领域。OpenCV(Open Source Computer Vision Library)是一个强大的跨平台开源库,提供了许多用于图像处理和计算机...

    opencv实现同时播放两个视频

    5. **图像显示**:`imshow` 函数是 OpenCV 中用于显示图像或视频帧的函数,我们需要为每个视频窗口创建一个独立的 `namedWindow`,并确保在多线程环境下正确地更新每个窗口的显示内容。 6. **同步与控制**:在多...

    opencv UDP协议的摄像头视频实时传输

    5. 显示还原的图像,可以使用OpenCV的imshow函数。 在实际应用中,为了减少色差干扰和提高视频质量,我们可以采取以下策略: 1. 使用更高效的视频编码方式,如H.264或H.265,它们能以较低的码率提供高质量的视频。 ...

    Vlc获取rtsp视频流opencv显示

    在回调函数中,我们可以使用OpenCV的`imdecode`函数解码VLC传来的原始数据,并使用`imshow`函数在窗口中显示。 ```cpp libvlc_media_player_play(mp); // 主循环 while (true) { // 在回调函数中处理并显示视频帧...

    基于OpenCV视频读取处理显示系统的搭建

    本教程将详细介绍如何利用OpenCV构建一个视频读取、处理和显示系统的流程,以及如何应用Canny算法进行边缘检测。 首先,我们需要了解OpenCV中的`VideoCapture`类,这是读取视频的基础。通过创建`VideoCapture`对象...

Global site tag (gtag.js) - Google Analytics