|
C#中通过动态链接库调用纯C写的OpenCV接口但是报错OpenCV:Bad image header
听说是cvcloneimage()的参类型错误会报这个错
下面是部分代码
这是在按钮事件中读取图像并转换成bitmap,再转成Iplimage指针- FileStream bmpstream = new FileStream(path + "//pic.bmp", FileMode.Open, FileAccess.Read, FileShare.Read);
- Bitmap bmp = new Bitmap(bmpstream);
- bmpstream.Dispose();
- Emgu.CV.Image<Emgu.CV.Structure.Bgr, Byte> cv_img = new Emgu.CV.Image<Emgu.CV.Structure.Bgr, Byte>(bmp);
- IntPtr cv_img_ptr = cv_img.Ptr;
- int i = CHNetSdk.check(cv_img_ptr);
复制代码 声明动态链接库的check()接口- [DllImport(@"FRAME_CHECK.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
- public extern static int check(IntPtr cv_img_ptr);
复制代码 动态链接库内部的代码- int check(IplImage* org_img)
- {
- IplImage* img = cvCloneImage(org_img);
- cvReleaseImage(&org_img);
- .......................
- }
复制代码 请哪位高手帮我看看,感激不尽 |
|