OpenCvSharp仅从所有OpenCvDll开始

时间:2015-03-18 13:48:01

标签: c# opencv opencvsharp

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

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

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

是否有任何方法只加载所需的DLL并指出哪一个可以删除?

1 个答案:

答案 0 :(得分:3)

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

  • net40程序集1.22MB
  • x64 dll的32MB
  • x86 dll的29MB

OpenCvSharp按需加载本机dll(即当C#代码需要本机代码时),因此可以删除代码从不使用的dll,但是你必须检查源代码或查找通过反复试验来解决这个问题。

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