Colors 在DirectShow中更改颜色

Colors 在DirectShow中更改颜色,colors,directshow,rgb,Colors,Directshow,Rgb,我最近创建了自己的DirectShow电影播放器,作为WPF中使用的控件。这一切都很好,但我的客户希望一个功能,以提高颜色取决于他的喜好 基于他使用的旧应用程序,他将其定义为三个独立的滑块,每个颜色通道(RGB)一个 当R设置为255,其他值降低到零时,播放视频中的红色将增强,或者至少“明显更红” 我已经搞乱了色调、饱和度、对比度、亮度,以及维基百科上的各种RGB到HSL/HSV计算等等,但这些都没有达到我的预期 谁能给我指一下正确的方向吗?也许我错过了DirectShow中的一个公开界面,因为

我最近创建了自己的DirectShow电影播放器,作为WPF中使用的控件。这一切都很好,但我的客户希望一个功能,以提高颜色取决于他的喜好

基于他使用的旧应用程序,他将其定义为三个独立的滑块,每个颜色通道(RGB)一个

当R设置为255,其他值降低到零时,播放视频中的红色将增强,或者至少“明显更红”

我已经搞乱了色调、饱和度、对比度、亮度,以及维基百科上的各种RGB到HSL/HSV计算等等,但这些都没有达到我的预期


谁能给我指一下正确的方向吗?也许我错过了DirectShow中的一个公开界面,因为我现在有点不知所措。在DirectShow中默认情况下是否可以使用它?

是否使用oldskool DirectShow graphfilter接口

IID_IAMVideoProcAmp:

该界面具有亮度、对比度、色调、饱和度、锐度、伽马等。。二传手和接球手

变换过滤器

如果您从头开始创建所有内容,则这可能不是“单击它工作”任务。转换过滤器是一种在运行时创建中间过滤器以改变视频缓冲区像素的功能

<>你使用C++、C++或其他语言吗?< /P> 您确实说过使用Windows演示框架(WPF),但mediaplayer是一个directshow应用程序。我的理解是directshow或多或少是一种死气沉沉的技术

学习WPF特效界面,它是一种现代的着色器技术,您可以在其中更轻松地变换像素颜色或创建其他特效。

编辑几个directshow筛选器相关链接供参考

  • (MS directshow示例列表)
  • (ezrgb24.cpp过滤器源)

我最终使用了RGB DirectShow示例过滤器,感谢您的指针!