Tag: camera

Directdraw:旋转video流

问题 Windows Mobile / Directdraw:旋转video流 video预览正在运行,我现在需要的只是一种旋转图像的方法。 我认为解决这个问题的唯一方法是编写一个基于CTransformFilter的自定义filter,它将为您旋转相机图像。 如果你可以帮助我解决这个问题,例如帮助我用我有限的DirectDraw知识开发这个filter,赏金就是你的。 背景/上一个问题 我目前正在开发移动设备应用程序(HTC HD2,Windows Mobile 6)。 程序需要做的一件事是使用内置相机拍照。 以前我使用Windows Mobile 6 SDK提供的CameraCaptureDialog做到这一点,但我们的客户想要一个更加用户友好的解决方案。 我们的想法是在控件中预览相机的video流,并在单击控件时使用相机的照片function拍摄高分辨率图片(> = 2百万像素)。 我们对该主题进行了一些研究,发现实现这一目标的最佳方法似乎是使用Direct Draw。 缺点是我从未真正使用任何原生Windows API,而且我的C ++相当糟糕。 除此之外,我在某处读到HTC手机的Direct Draw支持特别糟糕,您必须使用未记录的本机HTC库调用来拍摄高质量的图片。 好消息是,一家公司让我们开发出符合上述规格的控制器。 他们估计大约需要10天,如果我们能够在合理的时间内自行开发这种控制,就会引发讨论。 现在我的工作是研究哪种替代方案更好。 毋庸置疑,研究整个架构并开发演示的时间太少,这引出了以下问题: 问题不再相关! 你们有没有相似项目的经验? 你有什么建议? 是否有一个很好的Direct Draw源代码示例处理video预览和图像捕获?

在OpenCV中使用自定义相机(通过GStreamer)

我正在使用Nitrogen6x板和ov5640相机(mipi)。 相机没有使用标准v4l / v4l,但我们可以使用GStreamer为其驱动程序(mfw_v4l)流式传输video: gst-launch mfw_v4lsrc ! autovideosink 我想通过GStreamer(OpenCV内部的GStreamer)调用OpenCV中的相机。 我在这里问了一个关于在OpenCV中调用GStreamer的问题,这是后续的。 如果我启用GStreamer支持,则会在源代码中检查它,但OpenCV会尝试使用标准V4L / V4L2作为GStreamer,我想要更改它。 有关调用GStreamer的部分位于cap_gstreamer.cpp中 : CvCapture* cvCreateCapture_GStreamer(int type, const char* filename ) { CvCapture_GStreamer* capture = new CvCapture_GStreamer; if( capture->open( type, filename )) return capture; delete capture; return 0; } 我想这是我应该以某种方式指向相机驱动程序的部分。 (“type”这里可能是一个与驱动程序相关的数字(在precomp.hpp中定义),但是什么是“文件名”?) 有关如何通过GStreamer访问相机的任何建议都会有所帮助和赞赏。 谢谢!