欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

网络摄像头拍照的原理

更新时间: 2014-01-05 03:19:26 责任编辑: Author_N1

 

求助:网络摄像头拍照的原理
一般的非微软的网络摄像头,本地打开摄像头进行拍照,我查看了一下摄像头使用的是still image capture method 2方式进行拍照,请问这种拍照方式的原理是什么?在线等解答。。。。非常感谢
--参考方法--
摄像头支持的still image capture有三种方式:
still image capture method 1:
当拍照事件触发以后,摄像头直接从当前预览的video pipe中抓一帧图像作为still image,因此hardware不会中断和改变video stream。采用此方式进行静态拍照的话拍出来的图像的resolution和format总是和当前video stream是一致的。

still image capture method 2:
当拍照事件触发以后,驱动程序会停掉当前的video stream,然后重新根据application所选择的静态图片的图像的resolution和format和hardware沟通并重新分配usb带宽,发送VS_STILL_IMAGE_TRIGGER_CONTROL 的命令给hardware,然后准备着接收still image data。Device hardware这边接到命令后将still image data通过通过video pipe送出,并在这一帧的payload header中标记为still。当host driver接收到still image后就会恢复到拍照之前video的alternate setting,重新打开video stream。这种情况下在拍照时候有video 有一个明显停顿的动作。

still image capture method 3:
前两种方式都是只通过从video pipe传输still image data。这种方式的话still image data是通过专用的usb的bulk传输方式的still image pipe传输;因此video stream就不会被中断。
--参考方法--
Host driver向camera device发送VS_STILL_IMAGE_TRIGGER_CONTROL命令这是USB传输中的控制传输,成功了device会回复握手包,NAK握手包(USB设备忙)、STALL握手包(USB设备有错误)和ACK(成功处理)。

关于alternate setting的区别很难说,alternate setting 是host driver根据与device在Video Probe and Commit Controls时沟通的frame 的MaxPayloadSize来确定的。
在我看来应该没什么意义去比较alternate setting的区别。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:19:26
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20770/
本文WWW.DOC100.NET DOC100.NET版权所有。