我正在使用C#和支持YUY2或MJPG图像格式的USB网络摄像头。到目前为止,我总是在YUY2模式下使用它并且工作正常。最近我尝试将格式更改为MJPG,认为它会在每帧捕获时为我的程序提供一个JPEG图像。似乎几乎这样做。当我尝试显示缓冲区时,我的应用程序始终采用模糊的异常,但似乎表明该流无效。然后我将其中一个缓冲区复制到一个文件,并尝试使用IrfanView查看它,它告诉我没有霍夫曼表。用二进制编辑器查看缓冲区,我看到它确实有SOI和EOF JPEG标记(以及其他几个);但是,它不包含霍夫曼表标记。我在这里做错了什么想法?我已经阅读了一些关于JPEG的内容,显然有些情况下图像可以使用标准的霍夫曼表来减小文件大小;但是,如果是这种情况,我该如何将其插入图像(如果适用)? 顺便提一下,这是参考Microsoft Lifecam。
答案 0 :(得分:3)
AVI文件的Motion-JPEG标准的一部分是使用固定的Huffman表,因此不必存储在每一帧中。