这次研究的主要是速度问题,后来还获得了其它方面的收获。

1、原始的抽帧
      对于这样一个问题,想提高速度,能够想到的最简单、最直接的方法就是“抽帧”。比如添加一个计数器
这里,只有当SumofFrames达到FRAMEBLOCK的时候,才进行下面的图像处理,否则只是显示图像本身而不处理。
但是这样做,得到的结果很诡异,就是这个人走走停停的。
这样想来,这个图像处理的过程,还是不能放到主线程中去,还是要独立出来。
就是起码要2个线程。这个时候Console程序的能力就不够了,所以开始修改GOMFCTemplate。
2、对human_pose_estimation_demo结构的进一步理解
当我开始移植human_pose_estimation_demo到GOMfcTemplate中的时候,才发现它的结构化方法提供了非常多的便利:
引入它的文件
 
 
执行它的过程
就可以。
当然看上去简单,细节还是很多的,这个放到第4个部分来讲。
3、Dshow提供的加成
当我花了一番心思把算法移植过来,准备开始搞“2线程”的时候,测试发现速度已经有了明显的提升:
注意,這里已经将视频设置成了1920*1080的原始大小。可以看到,最上面的VCam是虚拟摄像头,它比较流畅,而GOMfctemplate里面的算法处理也是比较快的,并且DShow自动进行了抽帧处理!原理我还没有考证,但是结果看上去是这样的,这也是采用专业基础库的红利吧。
这样,我就不研究双线程了……等到后面有需要的时候再研究。这里实现的功能已经符合我的预期。
4、注意事项
a、因为OpenVINO的原因,所有的项目不要放在有中文和空格的地方;
b、正确设置分辨率进行测试,否则小分辨率测试不出来什么效果;
c、matU8ToBlob  等函数在引用过来的时候会批量报错,需要改写。
 

human_pose_estimation_demo的再进一步研究的更多相关文章

  1. human_pose_estimation_demo的进一步研究

    一.demo能力 OpenVINO提供了范例(human_pose_estimation_demo),能够在CPU上以较快速度识别出多人 -iE:/OpenVINO_modelZoo/head-pos ...

  2. 瘋子C++笔记

    瘋耔C++笔记 欢迎关注瘋耔新浪微博:http://weibo.com/cpjphone 参考:C++程序设计(谭浩强) 参考:http://c.biancheng.net/cpp/biancheng ...

  3. 大气散射 GPU Gems2 Chapter 16. Accurate Atmospheric Scattering

    效果图 这次先上效果图*4 散射概念 光线击中空气中的微小颗粒后的偏折导致了光线的散射.我们看到的阳光应该是由视线上的散射在视线方向上的集合.如果由地面的反射,还要加上经过散射计算的地面反射. Ray ...

  4. html中span不显示背景

    如果不在span中输入任何文本,span设置的背景图将无法显示出来.解决办法就是设置为块元素,然后设置固定的宽高. 参考:http://blog.csdn.net/jarniyy/article/de ...

  5. Python 利用pytesser模块识别图像文字

    使用的是python的pytesser模块,原先想做的是图片中文识别,搞了一段时间了,在中文的识别上还是有很多问题,这里做记录分享. pytesser,OCR in Python using the ...

  6. edmbed system----ecos

    方案公司用的嵌入式系统用的就是开源的可配置系统, ecos 不过提到它,对方公司研究的并不透彻,它有一个可以配置的dhcp部分,也就是dns可以选择不分配给连接的客户端 不过对方公司不这个事,更不知道 ...

  7. 从零到一:caffe-windows(CPU)配置与利用mnist数据集训练第一个caffemodel

    一.前言 本文会详细地阐述caffe-windows的配置教程.由于博主自己也只是个在校学生,目前也写不了太深入的东西,所以准备从最基础的开始一步步来.个人的计划是分成配置和运行官方教程,利用自己的数 ...

  8. windows窗口分析,父窗口,子窗口,所有者窗口

    (本文尝试通过一些简单的实验,来分析Windows的窗口机制,并对微软的设计理由进行一定的猜测,需要读者具备C++.Windows编程及MFC经验,还得有一定动手能力.文中可能出现一些术语不统一的现象 ...

  9. Redis构建分布式锁

    1.前言 为什么要构建锁呢?因为构建合适的锁可以在高并发下能够保持数据的一致性,即客户端在执行连贯的命令时上锁的数据不会被别的客户端的更改而发生错误.同时还能够保证命令执行的成功率. 看到这里你不禁要 ...

随机推荐

  1. Java基本数据类型转换及运算符

    上次我们说到完了Java中的基本数据类型,今天我们来说说Java中的基本数据类型转换和Java中的运算符 基本数据类型转换 java中可以从任意基本数据类型转型到外的基本数据类型 注意:(boolea ...

  2. 基于Babylon.js编写宇宙飞船模拟程序1——程序基础结构、物理引擎使用、三维罗盘

    计划做一个宇宙飞船模拟程序,首先做一些技术准备. 可以访问https://ljzc002.github.io/test/Spacetest/HTML/PAGE/spacetestwp2.html查看测 ...

  3. Spring Boot 整合 Web 开发

    这一节我们主要学习如何整合 Web 相关技术: Servlet Filter Listener 访问静态资源 文件上传 文件下载 Web三大基本组件分别是:Servlet,Listener,Filte ...

  4. SD-WAN 配置及应用模板**(二)

    目录 0. 前言 1. 配置模板 1.1 创建各类 'Feature' 模板: 1.1.1 添加波特率模板 1.1.2 添加 'VPN0' 模板 1.1.3 添加 'VPN10' 模板 1.1.4 添 ...

  5. Linux下查看版本信息

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等.   1.# uname -a   (Linux查看版本当前操作系统内核信息)   2.# cat /proc/ ...

  6. 夯实Java基础系列15:Java注解简介和最佳实践

    Java注解简介 注解如同标签 Java 注解概述 什么是注解? 注解的用处 注解的原理 元注解 JDK里的注解 注解处理器实战 不同类型的注解 类注解 方法注解 参数注解 变量注解 Java注解相关 ...

  7. AOP框架Dora.Interception 3.0 [1]: 编程体验

    .NET Core正式发布之后,我为.NET Core度身定制的AOP框架Dora.Interception也升级到3.0.这个版本除了升级底层类库(.NET Standard 2.1)之外,我还对它 ...

  8. MySql一个生产死锁案例分析

    接到上级一个生产环境MySQL死锁日志信息文件,需要找出原因并解决问题.我将死锁日志部分贴出如下: 在mysql中使用命令:SHOW ENGINE INNODB STATUS;总能获取到最近一些问题信 ...

  9. pywintypes.com_error: (-2147352567, '发生意外 解决方案

    在使用win32com处理Excel的时候,遇到pywintypes.com_error: (-2147352567 错误. 百度.Google各种方法不得其解,和以下网页类似——http://blo ...

  10. python Django中的cookie和session

    目录 Cookie 1.1获取Cookie 1.2设置Cookie Session 1.数据库Session 2.缓存Session 3.文件Session 4.缓存+数据库Session Cooki ...