我正在使用 Emgu CV(用于 x64)构建图像处理应用程序,并且我想对图像使用过滤功能。所以,我使用opencv_imgproc.dll
但它抛出 BadImageFormatException
Solution Platform : x86
Operating System : Windows 7 - 64
Language: C#
IDE: Visual C# 2010 express
我正在使用 Emgu CV(用于 x64)构建图像处理应用程序,并且我想对图像使用过滤功能。所以,我使用opencv_imgproc.dll
但它抛出 BadImageFormatException
Solution Platform : x86
Operating System : Windows 7 - 64
Language: C#
IDE: Visual C# 2010 express
Emgu是 OpenCV 的托管包装器。由于 OpenCV 是非托管的,因此您需要确保使用您正在使用的 Emgu 版本的正确设置进行编译。
根据评论中发布的例外情况(http://pastie.org/5170481和http://pastie.org/5170499供参考),正在编译的 Emgu 版本是 x86 版本,这意味着它依赖的 OpenCV DLL on 将需要编译为 32-bit 。要运行您的代码,无论您运行的操作系统的位数如何,Platform target
您项目的 Build 设置中的 都需要设置为。x86
要使用 64 位版本的 Emgu,您需要下载为 64 位编译的版本(您可以在此处查看不同的选项),然后将其设置Platform target
为x64
.