c# - OpenCvSharp 仅以所有 OpenCvDll 开头

标签 c# opencv opencvsharp

我在 Visual Studio 2013 中使用 OpenCvSharp。我已经通过 Nuget 安装了它,它工作正常。

但是当我部署应用程序时,它有一个 128M 的 DLL 目录。 x86 为 128M,64 为 128M。
我基本上使用的是 HighGui 和 Core 的功能。当我删除 DLL 时,加载时 OpenCvSharp 会引发异常。

我试过重新编译 OpenCvSharp 没有成功(这是另一个问题),甚至重新编译 OpenCV 以获得更小的 DLL。

有没有办法只加载所需的 DLL 并指出可以删除哪个?

最佳答案

您的部署规模听起来相当大......
当我使用 Nuget 包 OpenCvSharp-AnyCPU 2.4.10 创建一个测试项目时,我得到:

  • 1.22MB 用于 net40 程序集
  • x64 dll
  • 为 32MB
  • x86 dll
  • 为 29MB

    OpenCvSharp 按需加载 native dll(即当 C# 代码需要 native 代码时),因此您可以删除您的代码从不使用的 dll,但您必须检查源代码或通过反复试验找出这一点。

    默认情况下,您的 C# 应用程序将构建目标 Any CPU这意味着需要两组 dll,但您可以设置 Platform target: x86在构建属性中,只是不部署 x64 dll。

    关于c# - OpenCvSharp 仅以所有 OpenCvDll 开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29123837/

    相关文章:

    c# - 选择新添加的行 - DataGridView 和 BindingSource

    c# - 静态变量通常第一个字符为大写吗?

    c# - 如何从下拉列表传递参数

    opencv - 为 Windows 10 IoT Core ARM (Raspberry Pi) 编译 OpenCV 3

    c# - 用openCv将轮廓填充为黑色

    opencv - 如何在OpenCvSharp中从InputOutputArray创建对象?

    c# - C# 中 Win 窗体数量的限制

    python - 如何填充图像中的孔

    android - 使用 Eclipse 在 Android NDK 项目中构建 C++ 文件时出错

    opencv - 从图像OpenCvSharp中提取线条