我正在构建一个 C# 应用程序。我导入了一个使用 openCV 进行图像比较的 VC++ DLL。我需要在openCV中访问的函数原型是
bool DGTestAutomation_ImgCmp(IplImage* img1, IplImage* img2, int normalization_val, int tolerance);
C# 中的图像存储为位图 我如何将这些位图传递到 DLL 中?我正在使用的当前代码是
public class DLL
{
[DllImport("DGTestAutomation_DLL.dll", CharSet = CharSet.Unicode, SetLastError = true)]
public static extern bool DGTestAutomation_ImgCmp(
[MarshalAs(UnmanagedType.IPLImage)]Bitmap bmp1,
[MarshalAs(UnmanagedType.IPLImage)]Bitmap bmp2,
int normalization_val, int tolerance);
}
调用 DLL
bool check = DLL.DGTestAutomation_ImgCmp(bmp1, bmp2, 0, 9);
错误
'System.Runtime.InteropServices.UnmanagedType'
我刚刚开始学习 DLL 的东西。帮助将不胜感激。谢谢