cpu-关于cvWaitKey的工作机理;图像的闪烁问题;CPU下降措施

问题描述

关于cvWaitKey的工作机理;图像的闪烁问题;CPU下降措施
 void IVE2OPENCV_Showimage_Grey(IVE_SRC_IMAGE_S *ive_img)
{
    HI_U32 return_flag=0;
    IplImage* cv_img=NULL;
    cv_img=cvCreateImage(cvSize(ive_img->u16Width,ive_img->u16Height),8,1);
    cv_img->imageData=(char*)ive_img->pu8VirAddr[0];

    cvNamedWindow("bendan");

    cvShowImage("bendan",cv_img);

    cvWaitKey(50);//?这个函数的作用

    cvDestroyWindow("bendan");

    cvReleaseImage(&cv_img);
    cv_img=NULL;

}

问题:
1.cvWaitKey的工作机理,是按键触发么?按键触发之前,CPU空闲么?
2.cvWaitKey(int t );当t>0时,是不是等待多少毫秒后在工作?
3.上述代码中,我想显示图片为什么一直闪烁,我没有不是应该隔50毫秒,在更新么?
4.为了进一步移植到下位机,老大要减低程序执行的CPU,目前是25%,但是当我在显示图像中增加cvWaitKey(50)后,cpu的占有率明显下降,是12%。这是什么原理,增加cvWaitKey(50)后,会影响循环程序单次执行的时间么?(主要是我自己测试了一下,处理时间没有增加,竟然有些下降?什么原因)

解决方案

http://blog.csdn.net/longxiaoshi/article/details/7390252

解决方案二:

问题1:按一定间隔检测键盘的输入(适用于循环体中);
原文解释:
int key;
key=cvWaitKey(10);//wait 10ms for input

解决方案三:

http://wiki.opencv.org.cn/index.php/HighGUI%e7%ae%80%e5%8d%95%e5%9b%be%e5%bd%a2%e7%95%8c%e9%9d%a2#cvWaitKey
delay 延迟的毫秒数。
函数cvWaitKey无限制的等待按键事件(delay<=0时);或者延迟"delay"毫秒。返回值为被按键的值,如果超过指定时间则返回-1。

注释:这个函数是HighGUI中唯一能够获取和操作事件的函数,所以在一般的事件处理中,它需要周期地被调用,除非HighGUI被用在某些能够处理事件的环境中。

译者注:比如在MFC环境下,这个函数不起作用。

解决方案四:

明白了,类似于sleep()函数,用于挂起进程,给CPU休息时间,否则就是死循环!
至于实时性的问题,需要配置sleep函数,达到实时性的要求!
哈哈,还是老大给力!

时间: 2024-08-04 12:38:39

cpu-关于cvWaitKey的工作机理;图像的闪烁问题;CPU下降措施的相关文章

cpu处理器怎么超频 酷睿i3/i5/i7系列CPU超频教程

  此文参照主板BIOS设置为ASUS的P7P55D,其他主板或许有些许不同,但是大方向是相同的. BIOS中只解释跟超频相关的内容,请谅解. 超频分为三大步: 一.CPU超频 二.内存设置 三.VTT电压设置 以上3步请保证单独执行.意思就是,在对CPU进行超频时内存不作调整,保证最稳定状态,VTT电压不作调整,保证最稳定状态.这样可以避免出错的多方向性,多可能性. 接下来将采取图文并茂的方式来讲解 以下这是超频模式的选择 1.请选择manual手动设置 2.CPU倍频,按需要选择 3.这个是

在Ubuntu中CPU频率范围监视器不工作?

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   我需要插入一个模块才能允许我看见 CPU 频率范围. Ubuntu 没有 modprobe 这个模块 因此使用 "cat /proc/cpufreq" 会什么都看不到, 当插入 "p4-clockmod", 我立刻看到了结果. 因此, 我增加了 "p4-clockmod" 到 /etc/modules

关于imagemap控件刷新时图像会闪烁的问题(重赏!!!)

问题描述 我用的软件是VS2012.我在母页里用了一个imagemap控件引用子页,imagemap上设置了若干个hotspot,而被引用的子页的内容是GDI+绘制的图像.我要做的功能是在母页imagemap上点击hotspot,然后通过postback值来判断点击了哪个hotspot,从而子页的GDI+代码会根据不同的点击来绘制不同的图像,图像当然是显示在imagemap里的.但我遇到一个麻烦,每次点击hotspot整个页面都会刷新一次.imagemap在刷新期间有明显的加载延迟,就是点击之后

《新一代SDN——VMware NSX 网络原理与实践》——2.2 当前主流的Overlay隧道技术

2.2 当前主流的Overlay隧道技术 目前,市面上除了VMware外,Cisco和Microsoft等公司都能提供网络虚拟化解决方案.在介绍其网络虚拟化解决方案并进行对比之前,需要先讨论一下现在的网络虚拟化使用的Overlay技术分为哪几种.经各大厂商努力,已经有三种Overlay技术成形,即VXLAN.NVGRE.STT. 2.2.1 VXLAN技术 首先讨论VXLAN.VXLAN是Virtal Extensible LAN(虚拟可扩展局域网)的缩写.它是为了解决前文提到的数据中心的三个问

详解Python多线程_python

本文实例为大家解析了Python多线程,供大家参考,具体内容如下 1.多线程的理解 多进程和多线程都可以执行多个任务,线程是进程的一部分.线程的特点是线程之间可以共享内存和变量,资源消耗少(不过在Unix环境中,多进程和多线程资源调度消耗差距不明显,Unix调度较快),缺点是线程之间的同步和加锁比较麻烦. 2.Python多线程创建 在Python中,同样可以实现多线程,有两个标准模块thread和threading,不过我们主要使用更高级的threading模块.使用例子: import th

cpu工作原理简析

在了解CPU工作原理之前,我们先简单谈谈CPU是如何生产出来的.CPU是在特别纯净的硅材料上制造的.一个CPU芯片包含上百万个精巧的晶体管.人们在一块指甲盖大小的硅片上,用化学的方法蚀刻或光刻出晶体管.因此,从这个意义上说,CPU正是由晶体管组合而成的.简单而言,晶体管就是微型电子开关,它们是构建CPU的基石,你可以把一个晶体管当作一个电灯开关,它们有个操作位,分别代表两种状态:ON(开)和OFF(关).这一开一关就相当于晶体管的连通与断开,而这两种状态正好与二进制中的基础状态"0"和

CPU过热故障分析与排除

笔者本想借这个暑假狂玩一回电脑游戏,但自己不争气的爱机却两次掉链子,使笔者感到相当的恼火.而两次出现故障都是由于CPU散热所致,还好笔者电脑的CPU处理器具备过热保护功能,才不至于将其烧毁,同时这也给笔者提了个醒:夏天到了,一定要注重爱机的散热. 故障一:灰尘成杀手 频繁死机的真凶露面 假期第一天,笔者就迫不及待的玩起了电脑游戏,可没过一个小时,电脑居然重新启动了.刚开始笔者没当回事,机器启动完以后,继续玩着游戏.希奇的事情发生了:之后在玩游戏的过程中电脑频繁死机,而且由最初的一个小时变成十几分

gpu与cpu的区别

  无聊的时候看到一个cpu和gpu感觉长得好像,cpu与gpu一个字母之差,但是在实物上去相差很多.相信大家都知道cpu是我们电脑的中央处理器,那么大家也应该知道gpu就是图形处理器了.那么他们到底有什么不同,下面小编就为大家总结一下 cpu全称Central Processing Unit中文名:中央处理器 CPU一般由逻辑运算单元.控制单元和存储单元组成.在逻辑运算和控制单元中包括一些寄存器,这些寄存器用于CPU在处理数据过程中数据的暂时保存. CPU虽然有多核,但总数没有超过两位数,每个

从CPU、GPU再到TPU,Google的AI芯片是如何一步步进化过来的?

Google I/O是由Google举行的网络开发者年会,讨论的焦点是用Google和开放网络技术开发网络应用.这个年会自2008年开始举办,到今年已经是举办的第9届了. 在今年的年会上,Google主要发布了以下8种产品:智能助手Google Assistant,与Amazon Echo竞争的无线扬声器和语音命令设备Google Home,消息应用Allo,视频呼叫应用Duo,VR平台Daydream,独立应用程序的支持Android Wear 2.0,允许不安装而使用应用的Android I