繁体   English   中英

Opencv DNN Net 1x1 的大小

[英]Size of Opencv DNN Net 1x1

我在 Tensorflow 中实现了一个神经网络来分割图像。 该网络非常简单,仅使用 Cov2D、MaxPooling 和 UpSampling2D。

规格是:

  • 张量流:1.14.0
  • Keras:2.2.4-tf
  • Ubuntu:18.04.4 LTS

网络经过训练后,我已将其转换为 .pb,以便能够在 Windows PC 上从 OpenCV 和 C++ 读取它。

  • 风 10
  • Opencv:4.2.0

我使用的 C++ 代码是:

cv::Mat imgOriginal = cv::imread(pathOriginal, 1);//1280x1024 image to segment.

#include <opencv2/dnn/dnn.hpp>
cv::dnn::Net MODEL = cv::dnn::readNetFromTensorflow("model.pb");//Load model.
MODEL.setInput(cv::dnn::blobFromImage(imgOriginal, 1/255., cv::Size(64, 64)));//Pass image to Net.
cv::Mat m = MODEL.forward();
cout << m.size();

Print Output: [1x1]

我不明白为什么输出是这个大小 [1x1]。 我究竟做错了什么?

在 .forward() 之后需要一个中间步骤。 一些风格将保留:

m = MODEL.forward();
cv::Mat detectionMat(m.size[2], m.size[3], CV_32FC1, m.ptr());

现在 detectionMat 具有正确的输出尺寸。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM