2011-04-13 5 views
2

저는 YUY2 또는 MJPG 이미지 형식을 지원하는 C# 및 USB 웹캠으로 작업하고 있습니다. 지금까지 나는 YUY2 모드에서 항상 그것을 가지고 있었고 정상적으로 작동합니다. 최근에 저는 MJPG 형식으로 프레임을 캡처 할 때마다 내 프로그램에 하나의 JPEG 이미지를 공급할 것이라고 생각했습니다. 에 거의 나타납니다. 버퍼를 표시하려고 할 때 내 앱은 항상 막연한 예외를 취하지 만 스트림이 유효하지 않음을 나타냅니다. 그런 다음 버퍼 중 하나를 파일에 복사하고 IrfanView로 보려고했는데 huffman 테이블이 없다고 알려줍니다. 바이너리 편집기로 버퍼를 보면, SOI 및 EOF JPEG 마커 (및 여러 다른 것들)가 있음을 알 수 있습니다. 그러나 huffman 테이블 표식을 포함하지 않습니다. 내가 여기서 잘못하고있는 아이디어는? JPEG에 대해 조금 읽었으며 이미지가 파일 크기를 줄이기 위해 표준 허프만 테이블을 사용할 수있는 경우가 있습니다. 그러나, 그렇다면 이미지에 이것을 어떻게 삽입해야합니까? 이것은 Microsoft Lifecam을 참고로합니다.MJPG 이미지 형식의 웹캠

답변

3

AVI 파일에 대한 Motion-JPEG 표준의 일부는 고정 된 허프만 테이블을 사용하므로 모든 프레임에 저장할 필요가 없다는 것입니다.

+0

늦은 응답을 드려 죄송합니다. 분명히 "응답과 함께 알림"을 ​​확인하는 것을 잊어 버렸습니다. :-(그런 다음이 기본 허프만 테이블을 JPEG 이미지에 삽입하여 해당 이미지를 올바르게 볼 수 있어야합니다. –

+0

예, MJPEG 데이터 스트림에 허프만 테이블을 삽입 할 수 있습니다. 모든 JPEG 마커는 이동 가능합니다 파일에서 절대 오프셋을 사용하지 마십시오. – BitBank