2
我有一个复杂的问题,我一直在为此工作数周。我的程序是一个使用网络摄像头分析物理实验(例如摆动运动)的教育软件。我所经历的folowings:摄像头时间不准确,设置曝光时间
- 如果处理器忙,时间 测量不准确 (ISampleGrabberCB.BufferCB(SampleTime))
- 如果我不使用的时候,只需数 的样本:0,1,2 ...看起来更好 。当我在运动的曲线上看 时,我感觉到这一点。
我的主要目标是减少不准确性,我试图通过限制FPS(导致繁忙的处理器)实现。
- 我的摄像头(英特尔的Classmate PC的内置 摄像头)有自动FPS和曝光 时间。根据照明 他们波动。
- IAMStreamConfig.AvgTimePerFrame不起作用。
- 摄像头不支持IAMCameraControl。
- IKsPropertySet:我不知道如何使用 ,因为我没有任何 支持网络摄像机。从MSDN文章上Time and Clocks in DirectShowhttp://social.msdn.microsoft.com/Forums/en/windowsdirectshowdevelopment/thread/47b1317d-87e6-4121-9189-0defe1e2dd44
感谢您的回复。我尝试过不同的高分辨率定时器,但这并不能解决我的问题。我需要样本的准确时间,如果我知道 在另一个时刻的准确时间,这是没有帮助的。如果我实现了IReferenceClock,并将其构建到我的图表中,这对我来说需要什么? (我想不是,出于同样的原因) IAMStreamConfig.AvgTimePerFrame:您可以更改AvgTimePerFrame的值,它适用于我与其他webcams,但不适用于此。我必须优化我的程序 到英特尔Classmate PC,所以我必须使用此硬件。 – bsebi 2010-12-01 15:22:37