DirectShow:将位图保存为字节数组

时间:2011-11-24 13:00:41

标签: bitmap directshow

我正在尝试从视频中提取帧并将它们转换为字节数组(或类似的可读格式)。最终目标是能够比较不同的帧。

我正在使用DirectShow库并开始使用他们的示例DxScan(他们的标准示例的一部分,您可以在这里找到:(http://sourceforge.net/projects/directshownet/files/DirectShowSamples/2010-February/ )

在BufferCB-methode中,我添加了这个:

       unsafe int ISampleGrabberCB.BufferCB( double SampleTime, IntPtr pBuffer, int BufferLen )
    {
        Bitmap v;
        v = new Bitmap(m_videoWidth, m_videoHeight, m_stride,PixelFormat.Format32bppArgb, pBuffer);
        MemoryStream buf = new MemoryStream();
        v.Save(buf, ImageFormat.Bmp);
        byte[] currentImage = buf.GetBuffer();
...

问题是在调用方法v.save之后,代码跳回到顶部,而不是继续。所以我的字节数组仍为空。

我该如何解决这个问题?或者有更好的方法来获取单个字节吗?

THX

0 个答案:

没有答案