2013-10-14 7 views
0

최근에 내 자신의 DirectShow 무비 플레이어를 WPF 용 컨트롤로 만들었습니다. 이 모든 것은 정상적으로 작동하지만 고객은 기호에 따라 색상을 향상시키는 기능을 원합니다.DirectShow의 색상 변경

그는 그가 사용하는 오래된 응용 프로그램을 기반으로 이것을 각 색상 채널 (RGB)에 하나씩 3 개의 분리 된 슬라이더로 정의합니다.

R을 255로 설정하고 나머지는 0으로 낮추면 재생중인 비디오의 붉은 색이 강조되거나 적어도 "눈에 띄게 빨강이"높아집니다.

나는 색조, 채도, 명암, 밝기, 위키 피 디아 등에서 볼 수있는 모든 종류의 RGB에서 HSL/HSV 계산까지 이미 혼란 스럽지만 그 중 누구도 내가 기대하는 것을 실제로하지 못합니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까? DirectShow의 노출 된 인터페이스가 아마도 놓친 것 같습니다. 왜냐하면 저는 지금 당황 스럽기 때문입니다. DirectShow에서는 디폴트로 가능합니까?

답변

0

oldskool directshow graphfilter 인터페이스를 사용합니까?

IID_IAMVideoProcAmp :
http://msdn.microsoft.com/en-us/library/windows/desktop/dd376033%28v=vs.85%29.aspx
이 인터페이스 명도, 콘트라스트, 색상, 채도, 선명도, 감마 등 세터와 게터를 갖는다.

필터를 변환
http://msdn.microsoft.com/en-us/library/windows/desktop/dd391015%28v=vs.85%29.aspx
이되지 않을 수도 있습니다 클릭 클릭 - 그것 - 작품 작업을 처음부터 모든 것을 작성하는 경우. 변환 필터는 런타임에 비디오 버퍼 픽셀을 변경하는 중간 필터를 만드는 기능입니다.

C#, C++ 또는 다른 언어를 사용합니까?

WPF (Windows Presentation Framework)를 사용했지만, mediaplayer는 directshow 응용 프로그램입니다. 나의 이해는 directshow가 더 많거나 적은 기술입니다.

WPF 효과 인터페이스는 현대적인 셰이더 기술로 픽셀 색상이나 기타 효과를 쉽게 변환 할 수 있어야합니다. 참조
Pixel Shader Effect Examples

편집 몇 DirectShow 필터 관련 링크

+0

포인터를 주셔서 감사합니다. RGB DirectShow 예제 필터를 사용했습니다. –