C# 语言(Windows)

您正在查看最新版本(V3.0.0)的文档。如果您想查阅其他版本的文档,可以点击页面右上角“切换版本”按钮进行切换。

■ 如果您不确定当前使用的产品是哪个版本,请随时联系梅卡曼德技术支持

本章介绍如何在 Windows 系统上使用 Mech-DLK SDK 的 C# 例程。关于各类例程的功能说明,请参见 例程使用指南

安装包内容

Mech-DLK SDK 安装包中 C# 例程相关文件说明如下:

目录 说明

csharp/docs

C# 接口文档

csharp/examples

C# 示例程序

csharp/lib

C# SDK 动态库(mmind_dl_sdk_csharp.dll文件)

  • 编译和运行 C# 例程前,需将 cpp/bincpp/resources 目录中的相关文件拷贝至指定位置,具体操作请参见各例程的编译及运行步骤。

  • 若运行或编译例程时使用的文件名或目录名包含中文,请在 Windows 系统设置中找到语言和区域相关选项,开启 Beta 版:使用 Unicode UTF-8 提供全球语言支持,然后重新启动计算机。

使用前提

使用 Mech-DLK SDK 中的 C# 例程,需先安装以下软件:

安装 Mech-DLK SDK

请根据 安装指南 获取最新版本的 Mech-DLK SDK 并完成安装。

安装 Visual Studio

  1. 下载 Visual Studio 安装包

  2. 安装时,请勾选桌面应用和移动应用分类中的.NET 桌面开发工作负荷。如安装界面中显示 .NET SDK 组件,也建议一并勾选,再单击右下角的 安装

    sample csharp workload
  • 支持Visual Studio 2019 及以上版本。

  • 当前安装包中的 C# 示例工程基于 .NET Framework 4.6.1,编译和运行例程时建议使用 x64 配置。

(可选)安装 OpenCV

如需使用 OpenCV 功能,请下载并安装 C# 版本的 OpenCV,即 OpenCvSharp。

本例程以 OpenCV 4.12.0 版本为例。如使用其他版本,请根据实际情况进行相应的配置调整。

(可选)安装 HALCON

如需使用 HALCON 功能,请下载并安装 C# 版本的 HALCON。

例程调整说明

在编译和运行各类 C# 例程前,可根据实际业务需求,对输入图像、模型包及相关资源文件进行调整。以下内容为常见调整项示例。

  • 输入图像:可替换待检测图像,或按实际需求修改图像读取路径。

  • 模型包:安装包默认提供缺陷分割模型包,可根据实际业务需求替换为所需模型包。

  • 结果输出:可按项目需要调整检测结果的输出方式,例如修改结果图的保存路径、文件名称或输出位置。

  • 资源文件:可在 resources 目录中新增或替换业务所需图像、模型包及相关资源文件。

编译及运行例程

完成相关调整后,可按以下步骤编译并运行例程。

Basic 例程

编译

可通过以下步骤编译 Basic 例程:

  1. csharp/lib目录中的mmind_dl_sdk_csharp.dll文件拷贝至Basic例程的解决方案文件basic.sln所在目录(即csharp\examples\basic)。

  2. 双击basic.sln文件,在 Visual Studio 中打开。

  3. 在 Visual Studio 工具栏中,将解决方案配置设置为 Release,并将解决方案平台设置为 x64。之后,在 Visual Studio 菜单栏上选择 生成  生成解决方案

    vs setting
  4. 编译完成后,可在csharp\examples\basic\build目录下看到生成的可执行文件(本文以example_csharp_basic.exe为例)。

运行

  1. cpp/bin 目录中的 hasp_rt.exe 文件和所有 .dll 文件拷贝至生成的 example_csharp_basic.exe 文件所在目录。

    copy to csharp basic directory
  2. cpp 文件夹中的 resources 文件夹拷贝至 basic.sln 文件所在目录。

    copy to csharp basic sln directory
  3. csharp\examples\basic\build 目录下双击生成的 example_csharp_basic.exe 文件,或在 Visual Studio 中单击运行按钮直接运行例程。

    run csharp build basic samples

cpp/resources 目录中包含例程运行所需的模型和资源文件,请确保其位于程序可正确访问的位置。

Advanced 例程(多线程推理)

编译

  1. csharp/lib 目录中的 mmind_dl_sdk_csharp.dll 文件拷贝至多线程推理例程的解决方案文件 multi_thread_infer.sln 所在目录 (即 csharp/examples/advanced/multi_thread_infer)。

  2. 双击 multi_thread_infer.sln 文件,在 Visual Studio 中打开。

  3. 在 Visual Studio 工具栏中,将解决方案配置设置为 Release,并将解决方案平台设置为 x64。之后,在 Visual Studio 菜单栏上选择 生成  生成解决方案

  4. 编译完成后,可在 csharp\examples\advanced\multi_thread_infer\build 目录下看到生成的可执行文件 (本文以example_csharp_multi_thread.exe为例)。

运行

  1. cpp/bin 目录中的 hasp_rt.exe 文件和所有 .dll 文件拷贝至生成的 example_csharp_multi_thread.exe 文件所在目录。

  2. cpp 文件夹中的 resources 文件夹拷贝至 multi_thread_infer.sln 文件所在目录。

  3. csharp\examples\advanced\multi_thread_infer\build 目录下,双击生成的 example_csharp_multi_thread.exe 文件,或在 Visual Studio 中直接运行例程。

    run csharp multi thread samples

Advanced 例程(OpenCV)

安装 OpenCV

参照 安装 OpenCV,完成 OpenCV 的安装。

编译

  1. csharp/lib 目录中的 mmind_dl_sdk_csharp.dll 文件拷贝至 OpenCV 例程的解决方案文件 infer_with_opencv.sln 所在目录(即 csharp/examples/advanced/infer_with_opencv)。

  2. 双击 infer_with_opencv.sln 文件,在 Visual Studio 中打开。

  3. 在 Visual Studio 工具栏中,将解决方案配置设置为 Release,并将解决方案平台设置为 x64。之后,在 Visual Studio 菜单栏上选择 生成  生成解决方案

  4. 编译完成后,可在 csharp\examples\advanced\infer_with_opencv\build 目录下看到生成的可执行文件 (本文以example_csharp_opencv.exe为例)。

运行

  1. cpp/bin 目录中的 hasp_rt.exe 文件和所有 .dll 文件拷贝至生成的 example_csharp_opencv.exe 文件所在目录。

  2. cpp 文件夹中的 resources 文件夹拷贝至 infer_with_opencv.sln 文件所在目录。

  3. csharp\examples\advanced\infer_with_opencv\build 目录下,双击生成的 example_csharp_opencv.exe 文件,或在 Visual Studio 中直接运行例程。

    run example csharp opencv

Advanced 例程(HALCON)

安装 HALCON

参照 安装 HALCON,完成 HALCON 的安装。

编译

  1. csharp/lib 目录中的 mmind_dl_sdk_csharp.dll 文件拷贝至 HALCON 例程的解决方案文件 infer_with_halcon.sln 所在目录 (即 csharp/examples/advanced/infer_with_halcon)。

  2. 双击 infer_with_halcon.sln 文件,在 Visual Studio 中打开。

  3. 在 Visual Studio 工具栏中,将解决方案配置设置为 Release,并将解决方案平台设置为 x64。之后,在 Visual Studio 菜单栏上选择 生成  生成解决方案

  4. 编译完成后,可在 csharp\examples\advanced\infer_with_halcon\build 目录下看到生成的可执行文件 (本文以example_csharp_halcon.exe为例)。

运行

  1. cpp/bin 目录中的 hasp_rt.exe 文件和所有 .dll 文件拷贝至生成的 example_csharp_halcon.exe 文件所在目录。

  2. cpp 文件夹中的 resources 文件夹拷贝至 infer_with_halcon.sln 文件所在目录。

  3. csharp\examples\advanced\infer_with_halcon\build 目录下,双击生成的 example_csharp_halcon.exe 文件,或在 Visual Studio 中直接运行例程。

    run example csharp halcon

常见问题

编译问题

缺少.dll 报错

  • 问题:编译失败,提示缺少 .dll 文件。

  • 解决方案:确认 csharp/lib 目录中的 mmind_dl_sdk_csharp.dll 已拷贝至 .sln 文件所在目录。

无法找到 .NET SDK

  • 问题:编译时,提示无法找到 .NET SDK

  • 解决方案:请确认安装 Visual Studio 时,已勾选桌面应用和移动应用分类中的 .NET 桌面开发 工作负荷,并勾选安装过程中显示的 .NET SDK 组件。

运行问题

缺少.dll 报错

  • 问题:程序运行失败,提示缺少 .dll 文件。

  • 解决方案:确认 cpp/bin 目录中的 hasp_rt.exe 文件和所有 .dll 文件已拷贝至生成的 .exe 文件所在目录。

缺少资源或模型报错

  • 问题:程序运行时,提示资源或模型缺失。

  • 解决方案:确认 cpp/resources 文件夹已拷贝至 .sln 文件所在目录,并确保该目录下包含运行例程所需的模型和资源文件。

该页面是否有帮助?

可以通过以下方式反馈意见:

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。