我正在使用 DirectShow filtergraph 从视频中抓取帧。当前的实现遵循此图:
SourceFilter->SampleGrabber->NullRenderer
这在大多数情况下可以逐帧提取图像以进行进一步处理。但是,我遇到了一些 PAR 不是 1:1 的视频的问题。这些图像在我的处理步骤中出现拉伸。
我现在发现解决这个问题的唯一方法是在无窗口模式下使用 VMR9 渲染器,该渲染器使用 GetCurrentImage() 来提取具有正确纵横比的位图。但是这种方法对于连续抓取上千帧的情况并不是很有用。
我现在的问题是:解决此问题的最佳方法是什么?有没有人也遇到过这个问题?