将VC ++ DLL导入C#代码

时间:2013-10-31 07:50:11

标签: c# visual-c++ opencv dllimport

我正在构建一个C#应用程序。我导入了一个VC ++ DLL,它使用openCV进行图像比较。 我需要在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的东西。帮助将不胜感激。谢谢

0 个答案:

没有答案