我用directshow做视频捕捉,如何调整视频亮度对比度,大小等视频属性?各位大虾救命!!!(200分)

  • 主题发起人 主题发起人 HappyBug
  • 开始时间 开始时间
H

HappyBug

Unregistered / Unconfirmed
GUEST, unregistred user!
我以前用VFW,可以调用其标准属性,
我现在用了DSPACK,却找不到类似VFW的视频控制的方法属性,
DSPACK中的例子好像没有调整视频亮度对比度的实例,
请各位泰斗帮忙!
 
分数不够可以增加!
 
你用DIRECTSHOW捕抓的代码是自己写的吗?
如果是,能不能给我一份DIRECTX的头文件?
cat.com@tom.com
 
代码不是自己写的,我今天晚些时候发给你一个例子(delphi的),希望你能给我指点迷津!
 
天真:
代码已发出,其查收。请帮忙解决,谢谢!
 
这是在 DSPack 的 PlayVideoCap 例子中修改的:

procedure TVideoForm.Button1Click(Sender: TObject);
var
hr: HResult;
AMVpa: IAMVideoProcAmp;
vBright: LongInt;
vFlags: TVideoProcAmpFlags;
begin

with (FilterGraph as ICaptureGraphBuilder2)do

hr := FindInterface(nil , nil, VideoWindow as IBaseFilter, IID_IAMVideoProcAmp, AMVpa);
if Succeeded(hr) then

begin

AMVpa.Get(VideoProcAmp_Brightness, vBright, vFlags);
vBright := vBright + 100;
// 增加亮度
AMVpa.Set_(VideoProcAmp_Brightness, vBright, vFlags);
end;

end;

 
上段代码效果不佳,画面只闪了一下就没反应了,是何道理?
 
你是在我说的那个 DSPACK 的例子里试的吗?
能否把你的测试代码发给我,我看看。。。
 
仍然没解决,自己顶一下[:(]
 
>> 上段代码效果不佳,画面只闪了一下就没反应了,是何道理?

我的代码是写在按钮的点击事件里,当然是点一下,变一下喽。。。
你可以改为基于 TrackBar 的啊。
 
后退
顶部