1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-30 07:43:03 +04:00

add Net::getUnconnectedOutLayersNames method

This commit is contained in:
Dmitry Kurtaev
2018-09-25 18:10:45 +03:00
parent a610be6335
commit f8398d80bc
4 changed files with 21 additions and 20 deletions
+2 -15
View File
@@ -86,6 +86,7 @@ int main(int argc, char** argv)
Net net = readNet(parser.get<String>("model"), parser.get<String>("config"), parser.get<String>("framework"));
net.setPreferableBackend(parser.get<int>("backend"));
net.setPreferableTarget(parser.get<int>("target"));
std::vector<String> outNames = net.getUnconnectedOutLayersNames();
// Create a window
static const std::string kWinName = "Deep learning object detection in OpenCV";
@@ -125,7 +126,7 @@ int main(int argc, char** argv)
net.setInput(imInfo, "im_info");
}
std::vector<Mat> outs;
net.forward(outs, getOutputsNames(net));
net.forward(outs, outNames);
postprocess(frame, outs, net);
@@ -265,17 +266,3 @@ void callback(int pos, void*)
{
confThreshold = pos * 0.01f;
}
std::vector<String> getOutputsNames(const Net& net)
{
static std::vector<String> names;
if (names.empty())
{
std::vector<int> outLayers = net.getUnconnectedOutLayers();
std::vector<String> layersNames = net.getLayerNames();
names.resize(outLayers.size());
for (size_t i = 0; i < outLayers.size(); ++i)
names[i] = layersNames[outLayers[i] - 1];
}
return names;
}