一种提高实物展示流畅性的方法及系统的制作方法_2

文档序号:9399541阅读:来源:国知局
去黑边、剪切等,高效率的实现了视频图像的实时处理。
[0057]在帧处理过程中,为了控制帧率和CPU的使用率,在线程中每处理完一帧都调用了 sleep函数执行挂起操作,这样即可以降低了 cpu的使用率,也可以控制帧率。
[0058]步骤5涉及创建渲染队列
[0059]由于在图像处理的时候引入了开源计算机图像库,这无疑简化了图像处理的难度,也降低了代码的复杂度。但同时也带来了一个问题,就是在渲染的时候OpenCV的图像不能直接显示到屏幕上,而是要先经过转换,把OpenCV的图像转化为hbitmap (位图句柄)对象,即转换成适应于位块转换方式的位图句柄图像(位图句柄图像是通过位图句柄对OpenCV的图像进行相应的编码形成的图像),然后通过bitblt (位块转换)的方式进行图像的显示。图像转换是相当损耗CPU的性能的,同时bitblt的渲染由于没有通过硬件加速,渲染的效率就比较低了,这样当帧数据经过帧处理到渲染整个过程所需要的时间就长了,这个流畅的时间长度直接影响了用户的体验,界面会出现反应慢的现象。
[0060]在渲染模块启动的时候,即帧处理完成后,创建一个有别于帧处理线程的渲染队列处理线程和一个对渲染队列处理线程相对应的渲染队列,渲染队列处理线程只调用渲染队列中的视频图像进行渲染操作,同时,渲染队列是在内存中创建。
[0061]步骤6、将帧处理后的在前视频图像压入到所述渲染队列中,使得渲染队列处理线程只处理该压入到所述渲染队列中的视频图像
[0062]步骤7涉及渲染队列检测
[0063]通过渲染队列处理线程实时检测所述渲染队列中是否存在在前视频图像,如果存在,则进行渲染和显示,反之,如果未有压入的视频图像,而渲染的时间又小于时间间隔,则渲染队列处理线程继续将之前渲染过的视频图像再次渲染并显示。
[0064]步骤8涉及清染和显示
[0065]通过渲染队列处理线程对该在前视频图像进行渲染后使其显示在用户指定的窗口中。渲染的时候先把OpenCV的图像转化为hbitmap对象,即转换成适应于位块转换方式的位图句柄图像,然后通过bitblt的方式进行图像的显示。
[0066]步骤9、比较渲染的时间与摄像头采集在前视频图像和在后视频图像的时间间隔之间的关系:如果渲染在前视频图像(该在前视频图像经过帧处理后会存储到渲染队列中)的时间小于间隔时间,则继续执行步骤8,即是将原来通过渲染队列处理线程对该在前视频图像进行渲染后使其显示在用户指定的窗口中的步骤重复一次。
[0067]步骤10涉及实物再扫描。
[0068]如果渲染在前视频图像的时间小于间隔时间,则对实物进行再次图像扫描,获取所述实物的在后视频图像,并将该在后视频图像依次执行步骤2、4、6、7的操作(此时,将步骤2、4、6、7中的在前视频图像改成再后视频图像即可)。即当在前视频图像渲染完后要判断现在的时间是否到了可以从摄像头获取下一帧视频图像(即在后视频图像)的时间间隔,这里的时间间隔是指摄像头采集在后视频图像的时间与采集在前视频图像的时间之差,如果帧处理过程中设定了挂起操作,则包括该挂起时间,如果还没到,但是已经到了要渲染下一帧的时间了,这时候,这一个要渲染的帧不再通过摄像头获取,而是直接读取存储单元中的在前视频图像;但是当走到步骤8中发现如果渲染存储到渲染队列中的在前视频图像的时间(这个时间理应包括压入渲染队列中的时间)已经足够可以从摄像头获取下一帧视频图像的时候,到了必须要通过摄像头获取下一帧数据的时候(如果不在摄像头获取,而是长时间通过存储单元获取,会导致界面看到的图像数据延时比较严重),就通过摄像头获取帧数据并同样的把这一帧数据和获取这帧数据的时间在存储单元中保存起来,然后对该在后视频图像的处理方式与在前视频图像的处理方式相同,对待后续每一帧视频图像均采用该方式。
[0069]这样做,刷新(渲染)较快时候在前视频图像重复使用,可方便在界面操作频繁的时候设置较大的渲染速度,让绘图或者批注的操作相对流畅,同时硬件帧的采集速度也控制了起来,提供了更好的用户体验。
[0070]在帧处理过程中,不管对帧处理的逻辑如何优化,总有可能出现帧数据的处理时间过长导致渲染延时的情况。这个情况是这样产生的,如果一秒钟摄像头可以采集30帧的数据,但是我们从摄像头中获取帧然后进行帧处理的整个逻辑只能保证帧处理的速度达到25帧每秒,这样经过一秒钟以后,我们就帧处理和渲染了 25帧的数据,还有5帧的数据怎么办呢?当然我们在没有进行丢帧处理的时候,这5帧的数据当然是下一秒钟里面进行帧处理和渲染了,这就意味着下一秒钟就只能处理本身属于它的二十帧数据了。长时间下去界面理论上是越来越慢的。但是往往我们看到的是摄像头的渲染不会越来越慢,而是这个延时会稳定下来,这是为什么呢?这是因为摄像头里面的缓存空间也不是无限的,他的缓存也是有大小的。当摄像头内部缓存的够用的时候,他也会丢掉前面未被我们代码取走的帧数据。那么在这样的情况下,怎样才能做到界面相对的流畅呢?这里实现的方法如下:
[0071]I)、在上面的例子中,我们一秒可以处理的图像为25帧,但是摄像头获取图像一秒可以产生30帧。在已经没办法通过图像帧处理和渲染方法上加速的时候,唯一的办法就是丢掉5帧。
[0072]2)、让每一个I秒的时间里都让我们的程序只处理属于他的30帧中的25帧,丢掉属于他的这一秒的5帧(这里有个前提就是丢帧的速度是很快的,我们可以忽略掉丢帧的时间)。
[0073]3)、采用匀速丢帧的算法,如果是上面的情况下则采取每处理5帧就丢掉I帧的方法。这样即使丢了帧,人眼也分辨不出来,同时整个流畅度又提高了。
[0074]丢帧其实是帧数据被采集了,但是不进行帧处理和渲染,直接在摄像头中采集到数据就直接释放掉的意思。
[0075]上列详细说明是针对本发明可行实施例的具体说明,该实施例并非用以限制本发明的专利范围,凡未脱离本发明所为的等效实施或变更,均应包含于本案的专利范围中。
【主权项】
1.一种提高实物展示流畅性的方法,其特征在于,其包括以下步骤: 步骤1、通过摄像头对实物进行图像扫描,获取所述实物的在前视频图像; 步骤2、采集所述在前视频图像,并将所述在前视频图像以及采集该在前视频图像的时间存储到存储单元中; 步骤3、对步骤2中存储到存储单元中的在前视频图像进行帧处理; 步骤4、将步骤3中帧处理完毕后的在前视频图像经过渲染后进行显示; 步骤5、在步骤4中,如果渲染该在前视频图像的时间小于一间隔时间,则继续执行步骤3-4,反之,则执行步骤6; 步骤6、对实物进行再次图像扫描,获取所述实物的在后视频图像,并将该在后视频图像执行步骤2-5的操作,所述间隔时间为采集所述在后视频图像的时间与采集在前视频图像的时间之差。2.根据权利要求1所述的提高实物展示流畅性的方法,其特征在于,所述步骤I还包括通过麦克风捕获音频信息,并将所述音频信息经步骤2-4进行处理。3.根据权利要求2所述的提高实物展示流畅性的方法,其特征在于,所述在前视频图像和再后视频图像均为I帧数据。4.根据权利要求3所述的提高实物展示流畅性的方法,其特征在于,所述步骤3中,帧处理后执行挂起操作,所述间隔时间包括该挂起的时间。5.根据权利要求1-4任一项所述的提高实物展示流畅性的方法,其特征在于,所述步骤3中,如果在单位时间内从摄像头获取的视频图像帧数大于帧处理的视频图像帧数,则执行丢帧操作,所述丢帧操作为将多余部分不进行帧处理以及渲染而直接释放,所述多余部分为在单位时间内从摄像头获取的视频图像帧与帧处理的视频图像帧相减后的视频图像帧。6.一种提高实物展示流畅性的系统,其特征在于,其包括: 图像扫描单元,用于通过摄像头对实物进行图像扫描,获取所述实物的在前视频图像; 图像采集和存储单元,用于采集所述在前视频图像,并将所述在前视频图像以及采集该在前视频图像的时间存储到存储单元中; 帧处理单元,用于对图像采集和存储单元中存储到存储单元中的在前视频图像进行帧处理; 显示单元,用于将帧处理单元中帧处理完毕后的在前视频图像经过渲染后进行显示;比较单元,在显示单元中,如果渲染该在前视频图像的时间小于一间隔时间,则继续执行帧处理单元和显示单元,反之,则执行图像再扫描单元; 图像再扫描单元,用于对实物进行再次图像扫描,获取所述实物的在后视频图像,并将该在后视频图像依次执行图像采集和存储单元、帧处理单元、显示单元和比较单元的操作,所述间隔时间为采集所述在后视频图像的时间与采集在前视频图像的时间之差。7.根据权利要求6所述的提高实物展示流畅性的系统,其特征在于,所述图像扫描单元还包括音频信息采集单元,用于通过麦克风捕获音频信息,并将所述音频信息经图像采集和存储单元、帧处理单元和显示单元依次进行处理。8.根据权利要求6所述的提高实物展示流畅性的系统,其特征在于,所述在前视频图像和再后视频图像均为I帧数据。9.根据权利要求6所述的提高实物展示流畅性的系统,其特征在于,所述帧处理单元中,帧处理后执行挂起操作,所述间隔时间包括该挂起的时间。10.根据权利要求6-9任一项所述的提高实物展示流畅性的系统,其特征在于,所述帧处理单元中,如果在单位时间内从摄像头获取的视频图像帧数大于帧处理的视频图像帧数,则执行丢帧操作,所述丢帧操作为将多余部分不进行帧处理以及渲染而直接释放,所述多余部分为在单位时间内从摄像头获取的视频图像帧与帧处理的视频图像帧相减后的视频图像帧。
【专利摘要】本发明公开了一种提高实物展示流畅性的方法,其包括以下步骤:步骤1、图像扫描;步骤2、图像采集和存储;步骤3、帧处理;步骤4、图像渲染和显示;步骤5、如果渲染该在前视频图像的时间小于一间隔时间,则继续执行步骤3-4,反之,则执行步骤6;步骤6、对实物进行再次图像扫描,获取所述实物的在后视频图像,并将该在后视频图像执行步骤2-5的操作。本发明还公开了一种提高实物展示流畅性的系统。本发明通过将渲染的帧数据和通过摄像头获取的帧数据的速率进行分离,刷新较快时帧进行重复使用,可以在界面操作频繁的时候设置较大的渲染速度,让绘图或者批注的操作相对流畅,提供了更好的用户体验。
【IPC分类】H04N5/262, H04N7/18
【公开号】CN105120183
【申请号】CN201510559379
【发明人】王咸锋, 黄妙燕, 沈燕芬, 袁东常
【申请人】广东建设职业技术学院
【公开日】2015年12月2日
【申请日】2015年9月2日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1