我想制作一个程序,为数字视频/照相机(除DSLR以外的其他消费类照相机)提供连线操作,以便将相机插入电脑(USB或其他)并使用它的功能(拍照,录制视频,缩放,聚焦等)。 现在的预期平台是Linux。在LINUX上用C++连接摄像头的应用程序
据我所知,没有任何制造商为他们的产品提供SDK,除少数人(佳能,奥林巴斯,尼康),但仅限于他们的数码单反相机。
我不是新来的C++,但我没有在它的许多项目上工作。但是,我对OpenCV完全陌生,而且我还不知道这个库的功能。 为了测试opencv构建和我的配置,我制作了一个简单的应用程序,它只需从网络摄像头获取流并将其显示在窗体上。 (使用cvCreateCameraCapture)
这是否适用于数码相机或摄像机?我猜他们必须有一个“网络摄像头模式”,但这并不常见(至少不是摄像机)。 Firewire或者是否有其他支持HD的连接器?他们会被OpenCV识别吗? 如果可能的话,我想远离HDMI和捕捉设备(额外费用)。所以我想我的问题是,如果任何人有任何像这样的项目的经验:什么是这种用法(什么功能)的首选相机规格?是否有任何库可用于缓解我的烦恼:)
我正在调查libgphoto2以及。如果需要的话,我会尝试像写相机的驱动程序,如果可能的话使用libusb,但我真的不知道从哪里开始。 嗅探USB端口(使用它们的本地驱动程序),之后该怎么处理这些信息?
如果有人能够阐明该主题,我将非常感激 - 如何开始,如何开始,推荐编写驱动程序软件的好书?另外,我知道Linux Kino提供了类似的功能,所以我可以查看源代码,但它仅适用于IEEE 1394吗?
最后一个问题,我怎么能达到相机在电脑启动时自动启动,因为它通过USB连接?
很抱歉的长期职位,
谢谢和良好的祝愿!
Matekk
2012-12-18
Matekk