VS2015+OpenCV3.4.5+QT5.12+WINDOWS10用c++调用tensorflow训练好的.pb文件图像检测
想要快速做图像检测,但不想自己训练库,了解到现在可以直接掉tensorflow的模型。于是做了这个,原始是qt4,vs2010,但想要调用tensorflow模型,opencv必须在3.3版本以上,而这个版本以上必须VS2015以上来支持,同时vs2015必须qt5.7以上来配合显示。经过一系列的查找资料,知道了各个版本的限制。tensorflow模型又必须在VS中的64位下调试。最终确定下来开发环境如标题所示。经过一个多星期的环境配置,终于配置成功了(中间各种问题阻挠着我)。
https://www.jianshu.com/p/d3607ccb72a8
按照上述链接做了一遍。各种调试解决bug后最终始终报错如下
OpenCV(3.4.1) Error: Unspecified error (Const input blob for weights not found) in cv::dnn::experimental_dnn_v4::`anonymous-namespace'::TFImporter::getConstBlob, file C:\build\master_winpack-build-win64-vc14\opencv\modules\dnn\src\tensorflow\tf_importer.cpp, line 579
出现这个问题,可能是你的.pb模型文件与.pbtxt文件不对应 这个是在下面链接下找到的答案
https://blog.csdn.net/guyuealian/article/details/80570120
这里提了一下常见的错误和坑。。然后我从这个思路出发,找了上面这边文章的.pb文件和pbtxt文件来尝试。尝试了几个以后确实其他都可以实现,只有第一个文字那对文件不匹配。但试了这几个提到的效果都很差,图像不出框。原始图像和最终图像一个样子。ssd_inception_v2_coco_2017_11_17/frozen_inference_graph.pb和ssd_inception_v2_coco_2017_11_17.pbtxt这对就是没有效果,我把confidenceThreshold参数由原来的0.2改成了0.05以后面前出现了框框,但效果仍然很差,但这就说明程序是没问题的,是训练模型不合适。最终,我换成了下面这对文件效果还凑合。
ssd_mobilenet_v1_coco_11_06_2017/frozen_inference_graph.pb和ssd_mobilenet_v1_coco.pbtxt
这对检测出大概,虽然也有误差,但相比之前的那几个模型要好很多。
https://blog.csdn.net/xingchenbingbuyu/article/details/78416887
上面的链接我也参考了一下。
最后为了满足leader的要求我又在qt上实现了简单的显示。至少这几个开发环境算是搭建成功了。
PS:这里没有用到python的东西。我之前还下了Python的安装环境,越搞越麻烦,后来只是调用了python训练好的tensorflow模型生成的pb文件,直接在VS环境下编写代码就可以了。
还有遗留问题没有解决,网上好多资料得到的训练好的模型是四个文件,ckpt文件等,而这里我们用的是pb文件,那么怎么将那四个文件转换成我们要的pb文件和pbtxt文件,我还是没找到好的解决方法,网上查到的资料很乱。理论上有资料说ckpt文件是暂时的缓存文件,而pb才是真正的固化文件。而我是python门外汉,也不想自己搞的面太错综复杂了。留给大神给我答案吧,或者给我个链接也行。
最终结果以后有机会再展示。。https://blog.csdn.net/GAN_player/article/details/77586489 我是参考这个博文成功将ckpt文件转成pb,并测试成功。
VS2015+OpenCV3.4.5+QT5.12+WINDOWS10用c++调用tensorflow训练好的.pb文件图像检测相关推荐
- Wondow10 编译 Wireshark 源码(Windows10 + Vs2019 +Qt5.12)
1.编译环境 Windows10 + Vs2019 Qt5.12 Python3 2.官方教程 wireshark提供windows平台的编译方法,点此查看 3.遇到的问题 3.1 cmake错误 理 ...
- C++ VS2017 QT5.12开发在xp环境下运行 [2019]亲测推荐
项目是C++在vs2017+QT5.12写的,在win7,win8,win10运行无任何问题. (虽然XP已经被淘汰,但在中国至少还有6%的份额,尤其企业.研究所等.尝试此还是有意义的--) 但根据需 ...
- Firefly AIO-3399ProC开发板与PC端部署Qt5.12.2交叉编译环境
文章目录 前言 一.Qt是什么? 二.开发部署环境 三.部署Qt5.12.2交叉编译环境 3.1 安装前的相关包下载及环境准备 3.2 在开发板端部署Qt5.12.2交叉编译环境 3.3 在PC端部署 ...
- 记一次Qt5.12.2 Android 开发环境配置
记一次Qt Android开发环境配置 文章目录 记一次Qt Android开发环境配置 前言 一.配置需要的安装包及测试环境 二.配置步骤 1安装Qt5.12.2 2.安装Java SDK 3.解压 ...
- QT5.12+opencv4.0.1 Cielab空间 像素颜色信息
QT5.12+opencv4.0.1 Cielab空间 鼠标点击获取像素颜色信息 opencv路径配置 使用摄像头以及色彩转换 一些问题 参考 opencv路径配置 使用vs2015编译,而非Cmak ...
- 解决Desktop Qt5.12.1 MSVC2015 64bit kits不识别
解决与探究 主要是为了解决Qt 编译器中MSVC不可使用问题, 逻辑上来说我们装了Qt使用MSVC编译器, 这里以VS2015 Qt5.12.1为例, 当我们装完Qt后, 我们可以先测试一个输出Hel ...
- Win10/Win7离线搭建Qt5.12+MinGW/MSVC2015开发环境
三种Qt开发环境方案 Win10搭建Qt + Clion 版本选择与开发环境方案 Qt5.12.8 + Clion/QtCreator + MinGW:无法使用MSVC编译的lib库 Qt5.12.8 ...
- windows下用qtcreator交叉编译qt5.12.11
第一步:在Windows10下,下载并安装QtCreator 1.Qt版本:Qt5.12.11. 2.下载链接:https://download.qt.io/official_releases/qt/ ...
- QT:(2)Window10、VS15下安装qt5.12.8
双击下载的qt5.12.8安装包,一步步安装即可. 1.注册和安装(用自己的邮箱注册设置一下密码,之后会收到邮件按照邮件中的网址激活一下即可) 1.1完成之后,跳到下一个界面,同意一下开源软件的条款, ...
最新文章
- 中国AI开发者真实现状:写代码这条路,会走多久?
- prototype中顶层元素的测试
- 使用伪指令#pragma pack
- mysql load data 语法_MySql LOAD DATA 使用
- 表达式中常用到的运算符
- SpringBoot + Spring Security 简单入门
- 消除左递归实验代码_「leetcode」669. 修剪二叉搜索树:【递归】【迭代】详解!
- 0. PSR-0 --- 自动加载
- 1月16日英语计算机统考,高考英语听力首次机考16日开考
- 微信java版s40_微信诺基亚下载
- 关于Web网页设计规范简述
- IReport+JasperReport系列的坑(二)CloumnFooter与Detail之间有缝隙
- 企业信息化系列: 什么是企业信息化
- 服务器linux攻击方法,Linux操作系统中实现DDOS攻击的方法
- 客户体验是什么?如何提升用户体验从而提高产品成单率?必读!
- HTML+CSS大作业:购物商城网页设计与实现——手机主题网站
- Python求助攻,哥哥姐姐们帮忙一下,网上下载的这个程序需要什么数据参数读入吗?帮忙写个主程序调用一下SPAC出结果,必有重谢
- 已解决:Traceback (most recent call last): File “d:\python3.6\lib\runpy.py“,
- 新西兰公司注册流程概括
- Excel发货单计算器,实现新增行后,新增行自动求和和列自动汇总求和
热门文章
- Linux使用Mac键盘,System76 推出 Linux 键盘 看完手痒了!
- mysql触发器delimiter_MySQL的触发器创建之注意事项(有关delimiter)
- 用于构建高级媒体应用程序的工具
- Android开发指南(41) —— Searchable Configuration
- 从Myeclipe转向Idea,各种遇坑与填坑经验,持续更新(图文)
- ”三不跳“ - 再说跳槽
- 小辣椒p60手机怎么样_专坑手机小白的两大品牌,起售价3599,谁交了“智商税”...
- mysql基础知识(二)
- try catch异常后会执行后面的代码吗_Java的异常体系
- matlab std函数_MATLAB金融工具箱:11:根据基准优化投资组合