免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1426 | 回复: 0
打印 上一主题 下一主题

[应用] 怎么用read控制USB摄像头采集图像数据?是read一次就采集一次? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-27 10:33 |只看该作者 |倒序浏览
我这么做的好像不是的,下面一段程序就是这个思路写的,但每三帧图像显示的是同一幅类似的画面,换句话就是我移动下物体后,三帧图像后才是该物体移动后的图像。


cam_fp = cam_init();
While(1)
{
read(cam_fp, buf, 640*480*24/)
MyShowBuf(buf,0,0);   
}
在显示第一帧图像的时候,移动物体,显示的第二帧,第三帧的图像仍是移动前的,移动后的要好几帧后才显示。
这是什么情况?
好像是摄像头一瞬间采集了好几帧图像,每次read的是那一瞬间采集的几帧中的一帧,直到读完,采取采集下一个图像。如果是这样,怎么解决?
我开始以为usb摄像头句柄的内容超过我读取的图像数据大小640*480*3(驱动中设置的为640*480),所以我从句柄了读了(640*480*3)*5,然后从(640*480*3)*5取出一个显示结果发现,读同样的图像还是显示三次。
后来我就在读取图像数据前,用lseek偏移量定在usb摄像头句柄的0位置结果还是不行。
后来我以为是延时问题,就在读取图像数据后延时3秒,还是出现同样的问题。
不知是怎么回事。
还请大侠们帮忙。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP