OpenCV4 - 深度神经网络 - dnn.hpp 没有这样的文件或目录

Posted

技术标签:

【中文标题】OpenCV4 - 深度神经网络 - dnn.hpp 没有这样的文件或目录【英文标题】:OpenCV4 - Deep Neural Network - dnn.hpp no such file or directory 【发布时间】:2019-01-25 20:51:31 【问题描述】:

在我的 Debian 笔记本电脑上,我下载并编译了 OpenCV4,带有额外的 contrib 模块,一切似乎都运行良好;我可以在 Mat 对象中加载图像,然后可以对其应用滤镜。

现在我想尝试 YOLO 对象检测,所以我尝试在我的 Qt 项目中包含深度神经网络 dnn 模块

#include <opencv2/opencv.hpp>

但是当我编译代码时,我得到了这个错误

error: opencv2/dnn.hpp: No such file or directory

我查找了 OpenCV 文件,并在这里找到了 dnn 模块

usr/include/opencv usr/include/opencv2 usr/local/include/opencv4/opencv2/dnn

然后我尝试包含

#include <opencv4/opencv2/dnn.hpp>

但我得到了同样的错误。

关于如何解决这个问题的任何想法?

提前感谢您的帮助。

【问题讨论】:

你的项目中添加opencv的主目录地址了吗? 在CMake你检查之后opencv_dnn模块被启用了吗?编译好了吗? 检查answers.opencv.org/question/117557/trying-to-run-dnn-module。除了选择 dnn 模块之外,您还必须设置 opencv_contrib 源的路径。 【参考方案1】:

卸载当前安装的opencv:

sudo apt remove libopencv-dev

按照本教程在您的机器上构建 openCV4:

How to Install OpenCV on Ubuntu 18.04

现在做:

sudo ldconfig

现在尝试编译您的代码。错误应该消失了。

【讨论】:

以上是关于OpenCV4 - 深度神经网络 - dnn.hpp 没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

当Node.js遇上OpenCV深度神经网络

如何将 Mat 重塑为张量以在 C++ 中的深度神经网络中使用?

深度学习的卷积神经网络(CNN)情绪表情识别与分析系统

包邮送 OpenCV4,深度学习,强化学习,AR,VR方向 50 本好书

神经网络与深度学习-基于Tensorflow2.0的手势识别(数据集和训练集)

OpenCV 研习社 - 系统化带学 OpenCV 4