请问陆老师:诡异的directshow ISampleGrabber 能不能连续抓图?

yinfuyong 2009-05-08 07:16:28
请问陆老师:
directshow SampleGrabber 能不能连续抓图?
我参照微软SDK stillcap 已经实现了抓获单帧,处理之后可以显示。
因为我想达到实时的要求,我不知道能不能实现连续抓图 处理每帧图像之后再连续显示

HRESULT hr;
hr = m_pGrabber->SetBufferSamples( TRUE );
hr = m_pGrabber->SetOneShot( FALSE );
hr = m_pGrabber->SetCallback( &mCB, 1 );
m_pGrabber代表 CComPtr < ISampleGrabber > m_pGrabber;

回调函数是这个:
STDMETHODIMP BufferCB( double dblSampleTime, BYTE * pBuffer, long lBufferSize )
把回调函数封装在一个类CSampleGrabberCB里,定义CSampleGrabberCB mCB;


麻烦陆老师了

...全文
206 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuyuge000 2012-05-24
  • 打赏
  • 举报
回复
video_input类中将函数都已封装,简单的获取iplimage即可获取连续帧
yinfuyong 2009-05-12
  • 打赏
  • 举报
回复
再次麻烦wwwllg大哥了
我又看了好几天还是不行
我加了循环也不行 wwwllg大哥能不能再提示下?
还有其实我也不一定要抓图 老板的想法变了
其实就是对采集卡采到的视频做动态处理 这样的话 是不是用directshow就不太好做了?
UDX协议 2009-05-12
  • 打赏
  • 举报
回复
ISampleGrabber和写Transform filter基本上是一样的。

最终还是要写算法实现。
yinfuyong 2009-05-12
  • 打赏
  • 举报
回复
就是做一般的处理 比如说把灰度图像变成伪彩色 是不是用directshow不太容易做 得要自己写Transform filter
UDX协议 2009-05-12
  • 打赏
  • 举报
回复
对采集卡采到的视频做动态处理
----------
如何处理,要做什么?识别?
yinfuyong 2009-05-09
  • 打赏
  • 举报
回复
好的 非常谢谢wwwlg
那我就再查查资料 把这个问题攻下
UDX协议 2009-05-09
  • 打赏
  • 举报
回复
可以是实时的。

samplegrab实质上和transfilter是一样的,我想内部实现也是通过这样的手段完成的。
yinfuyong 2009-05-09
  • 打赏
  • 举报
回复
非常感谢 wwwlg 你的水平也很高了
还不辞辛苦的帮助我们这些新手
真得非常感谢您
请问下wwwlg 处理之后逐个显示还能不能是实时的?
sample怎么缓存到一个list中呢?

这方面的资料好像不多
UDX协议 2009-05-09
  • 打赏
  • 举报
回复
我自己也很长时间没有老陆了,必竟别人是大忙人吧。


ISampleGrabber支持连续抓图,不过这还需要看你的实现在。

你可以把抓到的每个sample缓存到一个list中,然后逐个处理保存。

2,542

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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