1

我正在使用 Directshow 在 winmo 设备上捕获图像。我的本机代码基于 Windows Mobile 6 sdk 中的“CameraCapture”示例,并进行了一些小的调整(简化了图表、添加了实时预览窗口、提高了照片分辨率等)。

我的问题是调用 IAMVideoControl::SetMode() 来实际“拍摄”照片需要很长时间才能完成。 当我调用它时,它会异步运行,需要几秒钟,然后在创建照片文件时播放相机快门声音。未经修改的 CameraCapture 示例与我自己的代码一样慢,因此我添加的任何内容似乎都不会导致此问题。

我已经通过监听 dshow 事件来解决异步部分,但是我很难找到一种更快的拍照方式。令人讨厌的是,我还没有找到任何方法来使快门声音静音(?)。这一切都非常令人失望,因为 Microsoft “CameraCaptureDialog” 会立即以相同(和更高)的分辨率拍摄照片。

[编辑]:速度评论是根据我记得它的运行方式和最近用另一台设备进行的测试做出的,但在看到下面的评论后,我用标准 CCD 重新测试——它同样慢。除非有人有任何技巧来加快速度(或消除快门噪音),否则我会说我将不得不忍受我所拥有的。再次感谢!

关于我可能会考虑加快这个过程的任何建议?有没有更快的方法来通过 Directshow 拍照?

再次感谢!

4

1 回答 1

0

最快的方法是 SampleGrabber,但它会以与预览相同的分辨率捕获帧(通常预览分辨率等于屏幕分辨率)

于 2009-07-15T10:20:55.573 回答