c++ - opencv::dnn 中的神经网络输入大小
问题描述
我想(动态地)确定预期作为深度神经网络模型输入的图像大小,该模型加载了 opencv 的 dnn 模块。例如,如果我加载一个 caffe 模型,我首先有:
cv::Mat img = imread("my_image.jpg");
cv::dnn::Net m_net;
m_net = cv::dnn::readNetFromCaffe("my_prototxt","my_model");
int img_size; // TODO how to determine it ?
cv::Mat blob = cv::dnn::blobFromImage(img, 1.0, cv::Size(img_size, img_size));
m_net.setInput(blob);
cv::Mat res = m_net.forward("layer_name");
我的问题是img_size
从m_net
这里确定。我想这应该是可行的,dnn::getLayersShapes
但我不明白在我的情况下应该是第一个论点。
我在这里给出了一个 caffe 模型的例子,但我也对能够对 tensorflow、darknet 或 torch 模型做同样的事情感兴趣。
解决方案
推荐阅读
- javascript - 如何使音频按我想要的方式工作?
- laravel - 如何使用 laravel、VUE 和 NUXT.js 通过 API 下载 CSV 文件?
- azure-devops - Azure Artifacts 仅下载在构建服务器上部署所需的特定文件
- typescript - 类型“{}”.ts(2339) 上不存在属性“我”
- r - 当我输出ggplot图时,函数的结果不同,为什么?
- c++ - Windows 服务不创建故障转储
- python - Pandas - fillna 与特定类别的平均值
- c++ - 在编写新代码时,作为错误不会妨碍的推荐的警告集是什么?
- javascript - 为什么我的带有 viewBox 和十六进制编码颜色的 SVG 图标在用作 javascript Image() 的“.src”时无法呈现
- node.js - 在 NodeJS 中使用 Tabulator 和 ExpressJS