如何以编程方式触发连接到 USB 的相机?
我想做一些像美国车管所那样的东西,你坐下来,它会给你拍照,也许像照相亭。
我想通过 USB 连接高端相机,启动相机并获取照片。
I want to make something like they have at US dmv's where you sit down and it takes your picture, maybe like photobooth.
I want to connect a high end camera via usb, fire the camera and get the picture.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
图片传输协议 http://en.wikipedia.org/wiki/Picture_Transfer_Protocol 是一个令人讨厌的小东西事物。到目前为止,我手中所有声称拥有适当 PTP 支持的相机都在某个地方失败了。但理论上可以使用PTP来远程控制相机,即触发快门、检索图片等。
与重新实现整个事情相比,我建议您获得一些易于使用的 PTP 库。 http://ptp.sourceforge.net 上列出了一些开源项目
There's the Picture Transfer Protocol http://en.wikipedia.org/wiki/Picture_Transfer_Protocol a nastly little thing. All the cameras I held in my hands so far, claiming they had proper PTP support failed it somewhere. But in theory one can use PTP to remote control a camera, i.e. trigger the shutter, retrieve the picture and so on.
Rater than reimplementing the whole thing I recommend you get some readily usable PTP library. There are some open source ones listed on http://ptp.sourceforge.net
最简单的方法可能是使用 OpenCV: http://opencv.willowgarage.com/wiki/
The easiest method is probably to use OpenCV: http://opencv.willowgarage.com/wiki/
如果您需要高端相机 - 大多数数码单反相机都有联机模式,您可以在其中控制相机、按下快门并检索图像数据。每个相机制造商都有一个专有的(但通常是免费的)sdk。
对于网络摄像头类型的相机 - 这些通常在视频模式下运行,您只需从视频流中抓取图像 - 正如 PaulR 所说 - 使用 openCV
If you need a high end camera - most digital SLRs have a tethered mode where you can control the camera, fire the shutter and retrieve the image data. Each camera maker has a proprietary (but normally free) sdk.
For a webcam type camera - these normally run in video mode, you simply grab an image out f the video stream - as PaulR says - use openCV