准备工作
1.使用cmake-gui在windows下编译mnn得到MNN.dll和MNN.lib(Release x64)
2.opencv的dll,lib,头文件可以在https://github.com/opencv/opencv/releases/tag/4.3.0的opencv-4.3.0-vc14_vc15.exe直接安装后得到,不用编译(opencv_world430.dll,opencv_world430.lib)
3.在vs2017中include mnn和opencv的所需要头文件(mnn缺什么直接在mnn的文件夹里搜完了把目录加到c++的include目录即可)以及lib,并将dll文件放入c++项目目录下面,设置环境为Release x64
4.将pytorch模型在linux下转onnx转mnn(linux下convertor比较好编译)
cpp代码
#include "Interpreter.hpp"
#include <opencv2/opencv.hpp>
#include <iostream>
#include "ImageProcess.hpp"
//这里执行的为一个分类模型
int main()
{
const std::string mnn_path = "...\\model.mnn";
std::shared_ptr<MNN::Interpreter> my_interpreter = std::shared_ptr<MNN::Interpreter>(MNN::Interpreter::createFromFile(mnn_path.c_str()));
//config
MNN::ScheduleConfig config;
int num_thread = 4;
config.numThread = num_thread;
MNN::BackendConfig backendConfig