[英]Size of Opencv DNN Net 1x1
我在 Tensorflow 中實現了一個神經網絡來分割圖像。 該網絡非常簡單,僅使用 Cov2D、MaxPooling 和 UpSampling2D。
規格是:
網絡經過訓練后,我已將其轉換為 .pb,以便能夠在 Windows PC 上從 OpenCV 和 C++ 讀取它。
我使用的 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.