5 C#构建Core类
5.1 新建C#类库
右击解决方案,添加->新建项目,选择添加C#类库,项目名命名为OpenVinoSharp,项目框架根据电脑中的框架选择,此处使用的是.NET 5.0。新建完成后,然后右击项目,选择添加->新建项,选择类文件,添加Core.cs和NativeMethods.cs两个类文件。
5.2 引入dll文件中的方法
在NativeMethods.cs文件下,我们通过[DllImport()]方法,将dll文件中所有的方法读取到C#中。读取方式如下:
[DllImport(openvino_dll_path, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
public extern static IntPtr core_init(string model_file, string device_name);
其中openvino_dll_path为dll文件路径,CharSet = CharSet.Unicode代表支持中文编码格式字符串,CallingConvention = CallingConvention.Cdecl指示入口点的调用约定为调用方清理堆栈。
上述所列出的为初始化推理模型,dlii文件接口在匹配时,是通过方法名字匹配的,因此,方法名要保证与dll文件中一致。其次就是方法的参数类型要进行对应,在上述方法中,函数的返回值在C++中为void* ,在C#中对应的为IntPtr类型,输入参数中,在C++中为wchar_t* 字符指针,在C#中对应的为string字符串。通过方法名与参数类型一一对应,在C#可以实现对方法的调用。其他

本文介绍了如何在C#中通过C++/CLI创建Core类库,引入OpenVINO DLL中的方法,以简化模型推理操作。步骤包括新建C#类库,导入dll中的方法,创建Core类并设置构造函数与输入接口,最后编译并成功编译输出。
最低0.47元/天 解锁文章
851

被折叠的 条评论
为什么被折叠?



