visual studio 2010-VS2010opencv写qt5界面显示视频,必须cvShowImage先显示,否则QT中视频不显示

问题描述

VS2010opencv写qt5界面显示视频,必须cvShowImage先显示,否则QT中视频不显示

运行时界面如下:

代码如下:

 void QT5video::showvideo()
{
    ui.startBtn->setEnabled(false);
    ui.closeBtn->setEnabled(true);
  //声明IplImage指针
    IplImage* pFrame = NULL;
    IplImage * return_frame;
 //获取摄像头
    CvCapture* pCapture = cvCreateCameraCapture(0);

  //创建窗口
    cvNamedWindow("监控视频",1);
//  cvNamedWindow("缺陷监测", 1);
  //显示视屏
    while(1)
    {
      pFrame=cvQueryFrame( pCapture );
      if(!pFrame)break;

      IplImage *img = pFrame;
       QImage qImage=QImage((const uchar*)img->imageData, img->width, img->height,img->widthStep, QImage::Format_RGB888).rgbSwapped();
      ui.label_JK->setPixmap(QPixmap::fromImage(qImage)); 

   return_frame=ControlsCountours(pFrame);

   IplImage *return_img = return_frame;
  QImage return_qImage=QImage((unsigned char * )return_img->imageDataOrigin,return_img->width,return_img->height,return_img->widthStep,QImage::Format_RGB888);
   ui.label_QX->setPixmap(QPixmap::fromImage(return_qImage,0));

      cvShowImage("监控视频",pFrame);
    //  cvShowImage("缺陷监测",return_frame);
      char c=cvWaitKey(330);
      if(c==27)break;
    }
    //cvWaitKey(0);
    cvReleaseCapture(&pCapture);
    cvReleaseImage(&return_frame);
    cvDestroyWindow("监控视频");
    //cvDestroyWindow("缺陷监测");

}

要是把 cvNamedWindow("监控视频",1); cvShowImage("监控视频",pFrame); cvDestroyWindow("监控视频"); 这三条语句全部注释掉的话,那么运行之后只会出现QT界面,此时点击任何按钮都是不好使的,而且还使程序卡死了,如下图:

请求好心大神们解答~

解决方案

qt opencv 视频显示
QT中的视频显示优化

时间: 2024-09-26 19:10:09

visual studio 2010-VS2010opencv写qt5界面显示视频,必须cvShowImage先显示,否则QT中视频不显示的相关文章

让你的Visual Studio 2010 支持HTML5 和 CSS3

现在的热门话题之一是HTML5 和 CSS3.好的, 它们都很时髦,它们也必然会影响网络开发的未来. 让我们尝尝鲜,花点时间安装设置一下,尽快让Visual Studio2010支持HTML5 和 CSS3 吧. 首先到微软网站上下载 Visual Studio 2010 SP1.双击开始执行VS10sp1-KB983509.exe, 然后等待补丁的下载安装完成. – 由于Visual Studio 2010 一开始并没有支持HTML5, 但是在SP1包中,微软开始加入HTML5的规范. HTM

用好Visual Studio 2010进行层架构设计

微软已经把VS 2010(Visual Studio 2010 Ultimate)功能融入到软件应用生命周期管理(ALM)中.在架构设计方面则是通过新的架构层关系图(Architecture Layer Diagram),以图形化的方式描述系统架构,从而使得项目中的技术人员或非技术人员都能以模型透过图形化的方式进行协作与设计,以及定义企业的系统功能. Visual Studio 2010提供针对不同功能层面的分析工具来辅助程序代码进行逆向工程.Layer Diagram可从高阶面来看架构:Arc

让你的Visual Studio 2010 支“.NET研究”持HTML5 和 CSS3

现在的热门话题之一是HTML5 和 CSS3.好的, 它们都很时髦,它们也必然会影响网络开发的未来. 让我们尝尝鲜,花点时间安装设置一下,尽快让Visual Studio2010支持HTML5 和 CSS3 吧. 首先到微软网站上下载 Visual Studio 2010 SP1.双击开始执行VS10sp1-KB983509.exe, 然后等待补丁的下载安装完成. – 由于Visual Studio 2010 一开始并没有支持HTML5, 但是在SP1包中,微软开始加入HTML5上海徐汇企业网站

一起谈.NET技术,让你的Visual Studio 2010 支持HTML5 和 CSS3

现在的热门话题之一是HTML5 和 CSS3.好的, 它们都很时髦,它们也必然会影响网络开发的未来. 让我们尝尝鲜,花点时间安装设置一下,尽快让Visual Studio2010支持HTML5 和 CSS3 吧. 首先到微软网站上下载 Visual Studio 2010 SP1.双击开始执行VS10sp1-KB983509.exe, 然后等待补丁的下载安装完成. – 由于Visual Studio 2010 一开始并没有支持HTML5, 但是在SP1包中,微软开始加入HTML5的规范. HTM

一起谈.NET技术,用好Visual Studio 2010进行层架构设计

微软已经把VS 2010(Visual Studio 2010 Ultimate)功能融入到软件应用生命周期管理(ALM)中.在架构设计方面则是通过新的架构层关系图(Architecture Layer Diagram),以图形化的方式描述系统架构,从而使得项目中的技术人员或非技术人员都能以模型透过图形化的方式进行协作与设计,以及定义企业的系统功能. Visual Studio 2010提供针对不同功能层面的分析工具来辅助程序代码进行逆向工程.Layer Diagram可从高阶面来看架构:Arc

[视频].NET Framework 4.0 及 Visual Studio 2010 概览

Visual Studio 2010和.NET Framework 4.0标志着微软下一代开发工具和平台战略的开启,其致力于提高开发人员的工作效率和热情,创建突破性的应用程序,推动云计算等新兴应用趋势.在Visual Studio 2010和.NET ramework 4.0中,通过并合理化应用程序生命周期管理(ALM),为最新的应用程序的体系架构设计.开发和部署提供了开发工具和平台的支持.同时.NET Framework 4.0包含了大量的改进,使其更易于开发的大型应用.参加这次讲座,您将从整

Visual Studio 2010自动执行属性

详解Visual Studio 2010中自动执行属性 在Visual Studio 2010中,有不少特性能帮助大家更好,更快的完成开发工作.本文将介绍的是自动执行属性. 自动执行的属性能够让你迅速指定一个类的属性,不用写"Get"和"Set"这个属性的代码.当你为自动执行的属性写代码的时候,Visual Basic编译器自动创建一个私有字段存储这个属性的变量,此外还创建相关的"Get"和"Set"步骤. 采用自动执行的属性

配置Visual Studio 2010开发环境

Visual Studio 2010是一个强大的IDE,微软的主要编程语言都包含于其中,不管是做桌面软件,还是做Web应用,使用Visual Studio 2010都可以搞定. 安装好Visual Studio 2010简体中文专业版之后,您可以根据自己的需求来配置Visual Studio 2010的开发环境. 比如我经常要用C#,所以这里我们把VS2010配置为"Visual C# 开发设置". 配置方法很简单:第一次打开Visual Studio 2010的时候,会弹出一个&qu

Visual Studio 2010:泛型委托的协变、逆变Demo

在编程语言中,"协变"是指能够使用与原始指定的派生类型相比,派生程度 更大的类型."逆变"则是指能够使用派生程度更小的类型.在 .NET Framework 4 和 Visual Studio 2010 中,C# 和 Visual Basic 都支持在泛型接口和委托中 使用协变和逆变,并允许隐式转换泛型类型参数. 如果泛型接口或委托的泛型参数声明为协变或逆变,则将该泛型接口或委托称 为"变体".C# 和 Visual Basic 都允许您创建自己