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

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. Transformer各层网络结构详解!面试必备!(附代码实现)

    1. 什么是Transformer <Attention Is All You Need>是一篇Google提出的将Attention思想发挥到极致的论文.这篇论文中提出一个全新的模型,叫 ...

  2. 如何把安全证书导入到java中的cacerts证书库(转)

    如何把安全证书导入到java中的cacerts证书库   提示: javax.net.ssl.SSLHandshakeException: sun.security.validator.Validat ...

  3. JsonConfig的jsonConfig.setExcludes的用法

    1.问题描述 在项目中经常会有两个类存在一对多或者多对一的关联关系,这样在查询多的一方时,会深入查询关联的一方,而我们可能并不需要去深入查询那些数据,此时使用JsonConfig的jsonConfig ...

  4. java获取配置文件中的key=value值

    1.献上工具类 package com.test.util; import java.io.FileInputStream; import java.io.FileNotFoundException; ...

  5. Ubuntu 卸载openJDK

    如果你在 Ubuntu 软件中心安装过 OpenJDK,请先使用如下命令将其删除: $ sudo apt-get purge openjdk*

  6. 在网页中动态地给表格添加一行内容--HTML+CSS+JavaScript

    需求描述: 用户在页面上点击按钮,可以把文本框中的数据在表格的新的一行中显示,具体表现如下图: 如果如果输入框内容有一项为空,弹出对话框‘请将数据填入完全 步骤: 1.按钮注册单击事件 2.获取并判断 ...

  7. Python内置函数之enumerate() 函数

    enumerate() 函数属于python的内置函数之一: python内置函数参考文档:python内置函数 转载自enumerate参考文档:python-enumerate() 函数 描述 e ...

  8. vue-cli 脚手架安装

    1.安装node;选择适合自己系统的文件,下载一路next , a安装成功后,打开运行输入cmd 进入命令行: 在命令行工具中输入 npm -v  检查版本号 如果出现 则安装成功:(npm为node ...

  9. aircrack-ng wifi密码破解

    wifi密码破解 步骤1:查看网卡信息 ifconfig 找到你要用到的网卡 步骤2:启动网卡监听模式 airmon-ng start wlan0 我的是wlp2s0 步骤三:查看网卡变化 wlan0 ...

  10. 洛谷 P3833 [SHOI2012]魔法树

    题目背景 SHOI2012 D2T3 题目描述 Harry Potter 新学了一种魔法:可以让改变树上的果子个数.满心欢喜的他找到了一个巨大的果树,来试验他的新法术. 这棵果树共有N个节点,其中节点 ...