Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpeg 具有MJPG图像格式的网络摄像头_Jpeg - Fatal编程技术网

Jpeg 具有MJPG图像格式的网络摄像头

Jpeg 具有MJPG图像格式的网络摄像头,jpeg,Jpeg,我正在使用C#和支持YUY2或MJPG图像格式的usb网络摄像头。到目前为止,我一直在YUY2模式下使用它,效果很好。最近,我尝试将格式更改为MJPG,认为它将为我的程序提供每帧捕获一张JPEG图像。它似乎几乎做到了这一点。当我试图显示缓冲区时,我的应用程序总是出现一个模糊的异常,但似乎表明流无效。然后我将其中一个缓冲区复制到一个文件中,并尝试使用IrfanView查看它,它告诉我没有huffman表。用二进制编辑器查看缓冲区,我看到它确实有SOI和EOF JPEG标记(以及其他几个);但是,它

我正在使用C#和支持YUY2或MJPG图像格式的usb网络摄像头。到目前为止,我一直在YUY2模式下使用它,效果很好。最近,我尝试将格式更改为MJPG,认为它将为我的程序提供每帧捕获一张JPEG图像。它似乎几乎做到了这一点。当我试图显示缓冲区时,我的应用程序总是出现一个模糊的异常,但似乎表明流无效。然后我将其中一个缓冲区复制到一个文件中,并尝试使用IrfanView查看它,它告诉我没有huffman表。用二进制编辑器查看缓冲区,我看到它确实有SOI和EOF JPEG标记(以及其他几个);但是,它不包含哈夫曼表标记。知道我做错了什么吗?我读过一些关于JPEG的书,显然有些情况下,图像可以使用标准的哈夫曼表来减少文件大小;但是,如果是这种情况,如何将其插入到图像中(如果合适)?
顺便说一句,这是关于Microsoft Lifecam的。

AVI文件的运动JPEG标准的一部分是,将使用固定的哈夫曼表,这样就不必在每一帧中存储该表。

很抱歉响应太晚;显然我忘了勾选“回复通知我”。:-(然后必须有一种方法将此默认哈夫曼表插入JPEG图像,以便我可以查看该图像,对吗?是的,您可以将哈夫曼表插入MJPEG数据流。所有JPEG标记都是可移动的,并且在文件中不使用绝对偏移量。这些固定的HT在中给出。