关于视频实时处理

andrew0207 2009-05-20 06:51:21
我想对摄像头视频实时处理,不如识别等,想法是逐帧处理,第一帧,处理一帧。刚刚接触视频,通过查阅资料,有两种方法,一种是用捕获视频的方法,在一个死循环循环中使用pFrame = cvQueryFrame( pCapture),循环一次得到一帧,处理一帧,然后在显示。还用一种是使用cvcamSetProperty函数设置回调函数,然后在回调函数中在处理。现在有如下几个问题:

1 使用捕获函数cvQueryFrame和使用cvcamSetProperty设置回调函数这两种方法有什么不同,我看cvQueryFrame是在highgui.h定义的,而cvcamSetProperty是在cvcam.h中定义的,这两个文件都是用来做什么用的,对于我这个需求,用那个比较好呀。

2 使用cvcamSetProperty设置回调函数时,cvcamStart()后,能不能不显示默认的播放窗口呀。

3 如果使用cvQueryFrame处理完后,显示在ondraw中使用双缓冲可以吗,还有别的方法吗.还有如何设置摄像头的分辨率(调出设置窗口)。

谢谢大家了,
...全文
1556 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
TOTTI-10 2009-06-16
  • 打赏
  • 举报
回复
顶起,也来学习一下
feixuedu1106 2009-06-14
  • 打赏
  • 举报
回复
可一用回调函数来实现连续采集,另外只需在写个显示函数就可以了!
jtujtujtu 2009-06-13
  • 打赏
  • 举报
回复
好像 cvQueryFrame 是基于vfw的
建议采用directshow来采集视频数据
通过samplegrabber捕获帧数据
处理完
可以通过opencv来显示也可以通过gdiplus/gdi来显示
双缓冲没问题的,不过需要注意的是,这样的话cpu消耗很大,因为每秒你要画30帧
关于在opencv中使用directshow采集数据可以参考:

http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=2820
zgjfish 2009-06-10
  • 打赏
  • 举报
回复
我的问题和你相似,也不知道该怎么处理,我的QQ:876961454
大家交流交流
ly830817 2009-06-05
  • 打赏
  • 举报
回复
帮你顶顶吧~~~~
chiwa737 2009-05-20
  • 打赏
  • 举报
回复
学习

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧