QT+OpenCV+Tensorflow部署到windows上

由于实验室项目需要,要将深度学习模块搭载到上位机中,目前是用QT做上位机界面设计,因此这篇文章和大家分享一下如何把已训练好的Tensorflow模型通过opencv搭载得Dnn模块加载到上位机Qt中。

电脑配置以及软件配置

我的电脑配置是W10/64位,安装得Qt版本是5.9.8,opencv的版本是3.4.1(安装的opencv版本必须大于或等于这个版本)

安装过程

参考opencv安装在QT上的安装教程
在用cmake编译过程中出现了这个问题
错误1

3rdparty\protobuf\CMakeFiles\libprotobuf.dir\build.make:412: recipe for target '3rdparty/protobuf/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/io_win32.cc.obj' failed
mingw32-make[2]: *** [3rdparty/protobuf/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/io_win32.cc.obj] Error 1
CMakeFiles\Makefile2:710: recipe for target '3rdparty/protobuf/CMakeFiles/libprotobuf.dir/all' failed
mingw32-make[1]: *** [3rdparty/protobuf/CMakeFiles/libprotobuf.dir/all] Error 2
Makefile:161: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

解决方案
在 cmake-gui 编译配置中:

勾选 ENABLE_CXX11

然后重新Configure-Generate-mingw32-make

错误2

Makefile:161: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

找到opencv\sources\modules\videoio\src\cap_dshow.cpp文件,在#include "DShow.h"这行的上面加一行#define NO_DSHOW_STRSAFE

然后重新Configure-Generate-mingw32-make

解决这两个错误后,安装和编译就全部解决了

程序运行

采用的是tensorflow官方训练好的模型,在QT中pro文件中按下图配置
.dll前的341是根据你安装的opencv版本载入的,我是把bin文件下所有的dll文件全部引用过来了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

输出结果

在网上选取的一张图,运行后结果如下
在这里插入图片描述
在这里插入图片描述
后续将把自己训练好的模型应用到上位机中。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猛龙不过江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值