C#pulseEmguCV做视频截取程序出错,无法得到内存问题

本人是学生,编程经验较少,最近做项目使用网络摄像头获取图像,使用EmguCV做图像处理,现在遇到了问题,从摄像头获得的内存地址无法构造出Image格式变量,哪位大神能帮忙看看,不胜感谢,代码如下:
byte[] pBitmap = new byte[nBufSize];
if (PlayCtrl.PlayM4_GetBMP(m_lPort, pBitmap, nBufSize, ref iActualSize))

IntPtr pBGR24 = Marshal.UnsafeAddrOfPinnedArrayElement(pBitmap, 0);
Image dst = new Image(iWidth, iHeight, 3, pBGR24);
CvInvoke.cvShowImage("1", dst);

只截取了出问题的一段, pBitmap为byte[]数组,使用dll函数得到了图像数据。我的思路是取它的地址,然后构造image变量,可是出错了,image为null,不知道为什么?

http://blog.csdn.net/qq_27991659/article/details/52302747