OpenCVSharp4 巨大的 DLL 大小

问题描述 投票:0回答:1

我正在尝试使用 opencvsharp4 包作为网络摄像头。我有一个点击一次的应用程序,但总共有 18 MB 大小。

但是我可以看到它附带的一些nativedlls OpenCvSharpExtern.dll是40 MB+,opencv_videoio_ffmpeg480.dll是22 MB+。

我想知道这会让我的应用程序大小达到 100 MB 以上。

有没有办法减少这些 dll 大小(以 KB 为单位),否则使用这个包是一个很大的负面影响 -:(

尝试减小本机 dll 大小或采用延迟加载它们的方法。

c# wpf opencv clickonce
1个回答
0
投票

有没有办法减少这些dll的大小

简短的回答是否定的:项目本身 (https://github.com/shimat/opencvsharp) 是所有现有 C++ 代码的包装器,并将其捆绑在一个 nuget 包中。

更长的答案是,理论上是的。原始的 C++ OpenCV 项目被分为单独的模块,因此理论上可以仅构建您需要或使用的模块,然后仅使用该库的定制版本。这是另一个 SO 答案,涵盖通过更改 CMAKE 设置来选择性地构建 C++ 项目:构建特定模块 OpenCV

但是,如果您走这条路,您必须自己生成自己的 C# 包装 PInvoke 代码。

© www.soinside.com 2019 - 2024. All rights reserved.