문제

나는 프로그램을 작성하고 있는데, 그것은 웹캠의 이미지로 실시간으로 약간의 변환을 할 것입니다. 거의 모든 다른 웹캠과 마찬가지로 My Noname은 yuy2 형식의 데이터를 제공합니다 (bmiheader.bicompression로 작성). 나는 CPU 쪽에서 직선 변환을 시도했다 http://www.fourcc.org/yuv.php#yuy2, 그러나 그것은 매우 느리고 잘못되었습니다 :).

소스 출력 핀을 렌더러에 연결하면 사진 및 프레임 속도가 좋습니다.

그래서 저는 DirectShow 필터, 또는 아마도 일부 코덱을 찾고 있으며, 이는 비디오 카드에서 YUY2에서 RGB24로 빠르게 변환 할 것이며 화면에서 렌더링하지 않고 결과를 제공합니다.

사용 중입니다 :

  • 32 비트 Windows XP SP3.
  • VC ++ 2005
  • 최근에 Windows SDK를 다운로드했습니다.
  • Directx August'09.
도움이 되었습니까?

해결책

현재 사용 가능한 코드가 없습니다. 그러나 GDI를 사용하여 변환을 매우 빠르게 수행하는 것을 살펴보십시오.

기본적으로 소스 프레임을 캡처하고, 올바른 형식 (rgb24)으로 메모리 Dib를 생성하고 Bitmap에 블릿을 작성하십시오. 전환은 블리팅 중에 발생하며 내 경험에 따라 매우 빠릅니다.

이것을 사용하여 웹캠에서 프레임을 잡은 다음 JPEG 또는 비트 맵으로 필요한 프레임 속도로 프레임을 하드 드라이브로 삭제할 수 있습니다.

DC

다른 팁

VirtualDub Kasumi 라이브러리를 사용할 수 있습니다 http://virtualdub.sourceforge.net/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top