OpenVINO提供了丰富的例子,为了方便研究和使用,我们需要将这些例子由原始的demo目录中分离出来,也就是“独立”运行,这里我们选择了较为简单的super_resolution_demo来说明问题并标注重点;另一方面,由于OpenVINO升级比较快,在一些细节的也有较多修改,由于版本升级带来的问题需要注意,这里也进行了适当梳理。
本篇博客的前提是“windows平台,并且已经成功在vs2017跑通OpenVINO的例子”。如果这个条件不符合可以参考官方文档和其他资料。
一、“独立”OpenVINO R2019_2 版本中的“super_resolution_demo”例子的
官方例子的名称为:super_resolution_demo
我们创建的例子名称为:GOVINO_REBUILD
1、创建console程序 GOVINO_REBUILD
需要注意,下面的操作都是64位的,首先我们做的是Debug模式
 
2、观察原例子中的头文件,打开 "常规"->"附加包含目录",这些都是我们需要的(并且已经在机器中正确部署)
其中,gflags和formatreader这个2个库要特别去掉,因为我们去除了gflags的繁琐判断
成功后应该是这样
3、打开原例子中 "链接器"->"输入"->"附加依赖项“,这些都是我们需要的(并且已经在机器中正确部署)
其中,关于format_reader和gflags的依然是可以去掉,特别要注意cpu_extension.lib的位置要指定正确。
上图是修改后的样子,需要注意的是这里的配置是可以直接拷贝的。
4、项目 =》属性 =》c/c++  =》预处理器=》点击预处理器定义,编辑,加入_CRT_SECURE_NO_WARNINGS
5、将原目录(而不是生成的目录)下的main.cpp和super_resolution_demo.h拷贝到新项目中去(这步也可以不做而直接转第6步)
 
并且添加到现有项中去
这个时候,可以尝试来运行了,肯定会报错的
将gflags和format_reader_ptr相关的东西去掉。
而后你还需要界面很多参数调整的问题,最后将整个结果运行成功。
6、或者你可以直接来使用GOVINO.cpp,这是经过我简化的“super_resolution_demo”
直接引入GOVINO.cpp(可以将main.cpp和super_resolution_demo.h删除)

根据提示,添加
7、最后开始运行
如果报这个错误,我们应该知道如何解决
解决方法有两种,或者是将这里的包含cpu_extension.dll的目录包含到Path中去,
或者是找到正确的,拷贝到一起,注意我们是将全部dll都拷贝过来的
这个时候,已经开始可以进入调试。但是你仍然可能会遇到一些问题,参考第2部分。
 
二、解决由于 R2019_1到R2019_2 升级造成的问题
1、首先明确一下目前发现的R2019_1和R2019_2两个版本在语法方面的不同,发现两处
一个是在R2019_1中在调入plugin的地方(天龙8步第1步)被改写为Core ie;
二个是R2019_2的第4步,ie.LoadNetwork中,
ie.LoadNetwork(network, "CPU");
需要将”CPU"写清楚,这个在R2019_1中是可以省略的。
2、容易问题的地方和解决提示
 
出现问题的原因大多是因为系统中安装了多个版本的OpenVINO,DLL文件混乱,比如出现下图这种错误
 
 
这里是一些提示
1、程序的目录不要放在有空格和中文的地方
虽然OpenVINO中没有明确说明这个问题,但是这的确是非常容易出现问题的地方:
比如下图中,我通过Depends进行比较,就发现了一些问题
 
2、使用工具、系统思考分析问题原因
 
比如这里出现的问题,程序是可以生成的,但是在Core ie 生成的时候错误,那么我就要去找,Core是什么东西,它来自于inferencePlugin,那么肯定就是cpu_extension.dll 或者 inference_engined.dll 这些库的问题;在使用Depends进行寻找,进一步分析问题。
 
这篇博客中肯定还有很多分析不到位的地方,欢迎留言交流!
感谢阅读至此,希望有所帮助!
 

“独立”OpenVINO R2019_2 版本中的“super_resolution_demo”例子的,解决由于 R2019_1到R2019_2 升级造成的问题的更多相关文章

  1. idea中,发现某个java语法在低版本中不支持时的解决办法

    比如,在某个工程中,准备用java.util.Objects#equals语法,发现提示版本不支持. F4查看Module的配置,发现原来是1.6版本. 当我手动修改为1.8时,提示我:Module是 ...

  2. 在OpenCV2.2后的版本中没有CvvImage类的解决方法(及出现错误:IntelliSense: 未定义标识符 "CvvImage" )

    首先在你的解决方案资源管理器中的头文件和源文件下分别添加 CvvImage.cpp 如下图: view类头上加个#include "CvvImage.h"  头文件,应该就可以解决 ...

  3. [译] OpenStack Kilo 版本中 Neutron 的新变化

    OpenStack Kilo 版本,OpenStack 这个开源项目的第11个版本,已经于2015年4月正式发布了.现在是个合适的时间来看看这个版本中Neutron到底发生了哪些变化了,以及引入了哪些 ...

  4. (转)OpenStack Kilo 版本中 Neutron 的新变化

    OpenStack Kilo 版本,OpenStack 这个开源项目的第11个版本,已经于2015年4月正式发布了.现在是个合适的时间来看看这个版本中Neutron到底发生了哪些变化了,以及引入了哪些 ...

  5. windows - Cygwin和MinGW有什么区别?(MinGW从Cygwin 1.3.3版本中分离出来)

    windows - Cygwin和MinGW有什么区别? 我想让我的C ++项目跨平台,我正在考虑使用Cygwin / MinGW. 但是他们之间有什么区别呢? 另一个问题是,如果没有Cygwin / ...

  6. [译] OpenStack Liberty 版本中的53个新变化

    一个新的秋季,一个新的OpenStack 版本.OpenStack 的第12个版本,Liberty,在10月15日如期交付,而且目前发行版本已经备好了.那么我们期望能从过去六个月时间的开发中获得些什么 ...

  7. [译] OpenStack Pike 版本中的 53 个新功能盘点

      原文:https://www.mirantis.com/blog/53-things-to-look-for-in-openstack-pike/ 作者:Mirantis Nick Chase 发 ...

  8. vuejs2.0与1.x版本中怎样使用js实时访问input的值的变化

    vuejs 2.0中js实时监听input 在2.0的版本中,vuejs把v-el 和 v-ref 合并为一个 ref 属性了,可以在组件实例中通过 $refs 来调用.这意味着 v-el:my-el ...

  9. JAVA 8 主要新特性 ----------------(二)版本中数据结构的修改浅析

    一.版本中数据结构的修改浅析1.HashMap.HashSet.ConcurrentHashMap的数据结构发生变化 (1)HashMap简介(结构:哈希表+链表) HashMap存储的数据是无序的, ...

随机推荐

  1. python环境的安装 环境变量和系统变量

    一.python 的安装 python 2.7 和 python 3.6的安装(一路点点点就行) 在安装的时候注意一下红框的内容,意思代表将其添加到环境变量中 环境变量是在操作系统中一个具有特定名字的 ...

  2. c#小灶——自动类型转换和强制类型转换

    前面已经认识了不同的数据类型,你们有没有尝试过让不同的数据类型进行运算呢? ; double b = a; Console.WriteLine(b); 运行结果是:1 我们把一个整型的变量赋值给了一个 ...

  3. 用友java后端开发面经

    面的是深圳的友金锁 3月28号 早上十点 之前来学校宣讲加笔试(笔试做的很菜) 以为凉了,27号被捞起来了,现在看来面了也有点凉 视频面试 时间:19分钟左右 面试官人不错 1 自我介绍 2 自我介绍 ...

  4. Window服务基于Quartz.Net组件实现定时任务调度(二)

    前言: 在上一章中,我们通过利用控制台实现定时任务调度,已经大致了解了如何基于Quartz.Net组件实现任务,至少包括三部分:job(作业),trigger(触发器),scheduler(调度器). ...

  5. 使用Tesseract-OCR 做验证码识别浅析

    使用工具jTessBoxEditor-0.7(这个是在java平台下开发的,所以 它只支持java平台 ,在使用前应该先配置好java环境) tesseract 程序集(因为该程序集是在.net 2. ...

  6. 10G的变态SQL文件,如何快速打开编辑?

    工作中,偶尔需要编辑一些大文件,比如 log 文件,后者一些变态的 SQL,此时用平常的编辑器就会显得力不从心,要么直接打不开,要么打开后卡得要死. 本文就给大家推荐几款可以操作大文件的编辑器,准备好 ...

  7. Python 字符串的所有方法详解

    name = "my name is {name} and my age is {age}" # 首字母大写 name.capitalize() # 统计某个字符的个数 name. ...

  8. Greenplum数据库分享

    1. 场景描述 最近做了次Greenplum数据库的分享,如下图,把第三章的的架构介绍简单提出来,分享下. 2. 解决方案 就按照ppt贴图了,部分内容稍微做了下马赛克. (这页ppt的下半部分,有实 ...

  9. 流程控制之while循坏

    流程控制之while循坏 一.语法 循环就是一个重复的过程,我们人需要重复干一个活,人岂不是要累死啊,而且还是那么-..的枯燥乏味,向我这样要的小年轻,不骚里骚气的行吗?那岂不是白白流浪了这么多年头, ...

  10. .NET导出Excel的四种方法及评测

    .NET导出Excel的四种方法及评测 导出Excel是.NET的常见需求,开源社区.市场上,都提供了不少各式各样的Excel操作相关包.本文,我将使用NPOI.EPPlus.OpenXML.Aspo ...