使用DirectShow捕获相机
Capture camera using DirectShow
我正在C#
中为Windows Mobile 6.1的设备开发SmartDevice应用程序(Pocket PC 2003模板)。我需要使用这个设备的相机(照片,视频);为了完成这项工作,我尝试使用CameraCaptureDialog
类,但它不适用于Pocket PC应用程序。因此,我在互联网上记录,发现我可能指的是DirectShow API,但问题是我不知道从哪里开始,因为我找不到一个有效/正确的例子。
我的问题:
这是正确的方式吗?有其他选择吗
在哪里可以找到非常好的示例来展示如何完成这项工作?
您可以尝试directshowbetcf:http://alexmogurenko.com/blog/directshownetcf/如果你真的想使用DirectShow和NetCF。
网上有很多directshow的例子。有一个网站致力于将API转换为C#,这使它更容易,也许就是这样http://directshownet.sourceforge.net/about.html.我在DirectShow上很吃力,直到我读了微软出版社的《编程DirectShow》一书。在这本书的三分之一的篇幅里,一切似乎都非常容易,我能够完成我想要的。最后,这很像引用任何库并使用该库中的类。增加的困难是,您需要添加包装器,因为它们都是COM对象,但这已经为您完成了。
这可能有助于您了解DirectShow技术。基本上给了DirctShow一个开始,并解释了一些重要的点。但是它是C++而不是C#。希望这能帮助
基本视频捕获
DirectShow是Windows Mobile 6中的视频捕获API。那里有一个视频捕获过滤器,所有的东西都是以与Windows中几乎相同的方式设计的。
然而,问题是这是一个原生的API,而不仅仅是在Windows Mobile中。要在C#中进行开发,您需要一些绑定,但这些绑定是缺失的。桌面上有DirectShow.NET,这是一个缺失的部分,但它似乎不太适合CE。然而,您仍然需要在Windows Mobile中填补这一空白。
要解决这个问题,你有几种方法,第一种是通过DirectShow.NET进行适当的更新,以开始在设备上工作,去掉移动操作系统中缺少的部分等。这将使你成为DS.NET和移动操作系统的双胞胎。
另一种选择是进行一些C++开发,并在该域中实现最小的足够功能集,通过COM公开组件。然后你将从托管代码中引用它,事情就会连接在一起。另一个显而易见的选择是使用第三方解决方案,该解决方案已经做到了上述其中一个。
- 了解 GLM- openGL 中的相机转换
- OpenGL相机和相机空间转型的困惑
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- 通过 API 控制 DJI 相机
- 将相机数据从服务器实时流式传输到客户端
- 来自逆 vp 矩阵和相机位置的光线方向不正确
- OpenCV - Python 断言错误:SAD 算法 - 立体相机视差图计算
- Qt 和 Android - 如何使用 Qandroidjniobject 启动相机
- 在Windows(C++)中使用USB相机拍摄高分辨率照片
- 如何在相机类中添加胶卷
- 强制Qt相机视频格式
- 操纵安卓相机的深度图导致应用程序崩溃
- 深度值没有意义 R200 相机
- Qt QML相机在部署后显示白屏
- Opencv 如何从相机读取单帧
- OpenCV - 来自相机的实时馈送不流畅
- 佳能SDK无法从相机下载图片
- 如何处理来自MIPI相机的12位图像?
- 使用DirectShow捕获相机
- 我如何创建avi从相机使用directshow