在 Raspberry Pi 上部署 OpenCV 4 - 'Emgu.CV.CvInvoke' 的类型初始值设定项抛出异常

Deploying OpenCV on Raspberry Pi 4 - The type initializer for 'Emgu.CV.CvInvoke' threw an exception

我正在尝试使用 C# 将我的 Kinect v1 连接到我的 Raspberry Pi 4 (ARMv7)。我在 Windows 10 下使用 VS 2019 进行编码。

对于 NuGet,我按照建议 here 安装了 Emgu.CV.runtime.windows 包。但是,在执行我的代码时出现此错误:

The type initializer for 'Emgu.CV.CvInvoke' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'cvextern' or one of its dependencies.

正如其他线程中所建议的那样,我将必要的 .dll 从 x64 dll 文件夹中放入我的 Pi 中可执行文件的文件夹中。我仍然收到此错误。有什么建议吗?

对于 Emgucv,该库的主要目的是成为 c++ 库 opencv 的 c# 包装器。为了使这项工作正常进行,您需要将您正在编码的平台的运行时包包含在参考中。

自 2020 年 2 月起,您将必须为 Raspberry pie 构建本机二进制文件。

您可以在下面阅读有关此问题的更多信息。

https://github.com/emgucv/emgucv/issues/298