簡體   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