谁有使用过DSPACK控件,主要是使用来directXShow进行抓图的,(50分)

  • 主题发起人 主题发起人 t163t163
  • 开始时间 开始时间
T

t163t163

Unregistered / Unconfirmed
GUEST, unregistred user!
现在我想使用该控件进行图象捕捉,但我不知道该如何进行图象大小的调整,包括
参数的设置等.所以哪位高人可以指点以下呢?

谁使用该控件的用户请讲解一下,谢谢了!
 
那你都会啥?
 
我现在可以捕获图片,但捕捉的图象都是320*240的,通过程序设置图象的大小,但不管怎么弄,通过DSPACK捕捉的图片大小都是320*240,所以请各位帮忙是否有类似的代码程序可以
参考的,或该如何解决该问题的
 
以下改自 DSPack/Demos/D6-D7/SampleGrabber, 调试通过:

with (FilterGraph as ICaptureGraphBuilder2) do
begin
CheckDSError(RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter, nil, VideoWindow as IbaseFilter));
if Succeeded(FindInterface(@PIN_CATEGORY_PREVIEW, @MEDIATYPE_Video,
Filter as IBaseFilter, IID_IAMStreamConfig, pConfig)) then
begin
pConfig.GetFormat(pmt);
pvih := pmt.pbFormat;
pvih.bmiHeader.biWidth := 640;
pvih.bmiHeader.biHeight := 480;
pvih.bmiHeader.biSizeImage := 480 * BytesPerScanline(640, pvih.bmiHeader.biBitCount, 32);
if Succeeded(pConfig.SetFormat(pmt^)) then
begin
Caption := '640 * 480';
end;
DeleteMediaType(pmt);
end;
end;
 
to cqbaobao:
非常感谢,已经可以显示了,但是当进行图象捕捉时,却还是320*240

samplegrabber.getbitmap(image.picture.bitmap);
image.picture.savetofile('c:/a.bmp');

结果我看了一下,a.bmp的SIZE=320*240
这是怎么回事呢?请再帮一下,可以吗?
 
to cqbaobao:
可以了,图象大小也可以是640*480了,但是不是因为(@PIN_CATEGORY_PREVIEW的
原因致使速度特别慢,我是指显示的速度
 
我现在没有 Delphi,没办法测试,
速度慢的问题,你可以试用 VMR 方式显示;
 
to cqbaobao:
我测试了一下,速度也不行,而且图象有失真的现象
 
倒,问题还真多,可分数。。。。。。。。。。

我认为你需要确定一下你是否真的在使用 VMR 方式,
如果用普通 VideoRender,当显示尺寸=采集尺寸时,速度不见慢,
但一旦缩放,CPU 占用将不堪入目。。。。。。
而 VMR 并不是所有机器都支持,对于集成显卡必须是 845 以后,
并且不论是否集成,都需要升级显卡驱动至一定程度。

多看看 SDK 文档,
 
谢谢了,分数过少请不要介意
 
后退
顶部