社区
图形处理/算法
帖子详情
请问 directshow 中如何用ISampleGrabber做连续抓帧
yinfuyong
2009-05-05 02:20:17
directshow 中如何用ISampleGrabber做连续抓帧
我现在实现了抓一帧 然后处理之后显示 但不知道怎么做连续抓帧
...全文
304
9
打赏
收藏
请问 directshow 中如何用ISampleGrabber做连续抓帧
directshow 中如何用ISampleGrabber做连续抓帧 我现在实现了抓一帧 然后处理之后显示 但不知道怎么做连续抓帧
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
comedate
2009-05-26
打赏
举报
回复
我也在做这方面。 zhangzhx3 是用DirectShow + openCV 做流媒体/图像处理的吧。呵呵
不过,是个新手。也在想连续抓帧的事。
zhangzhx3
2009-05-07
打赏
举报
回复
IplImage
这个是opencv中的处理,忘记说明了呃
当然,你可以直接用其他的.
yinfuyong
2009-05-07
打赏
举报
回复
感谢“兴星”兄
yinfuyong
2009-05-07
打赏
举报
回复
我试了下 IplImage有点问题 不知道怎么回事
我是用Visual Studio 2005编的
zhangzhx3
2009-05-06
打赏
举报
回复
就是在BufferCB里面添加你的图片保存函数
SaveIplImage(pBuffer, lBufferSize);
这个函数实现:
SaveIplImage(pBuffer, lBufferSize)
{
IplImage *m_temp[25];
IplImage ds_frame;
IplImage *frame =0;
int stride = (lWidth * sizeof( RGBTRIPLE ) + 3) & -4;
cvInitImageHeader( &ds_frame, cvSize(lWidth, lHeight), 8, 3,IPL_ORIGIN_TL, 4 ); //创建iplimage
ds_frame.widthStep = stride;
cvSetData( &ds_frame, pBuffer, stride ); //copy数据
frame = &ds_frame;
m_temp[iIdx]=cvCloneImage(frame);
iIdx++;//累加
if(iIdx==25)
{
flag=1;
iIdx=0;
bOneShot1 = FALSE;
}
return 0;
}
yinfuyong
2009-05-06
打赏
举报
回复
不好意思:m_pGrabber代表 CComPtr< ISampleGrabber > m_pGrabber;
yinfuyong
2009-05-06
打赏
举报
回复
HRESULT hr;
hr = m_pGrabber->SetBufferSamples( TRUE );
hr = m_pGrabber->SetOneShot( FALSE );
hr = m_pGrabber->SetCallback( &mCB, 1 );
回调函数是这个:
STDMETHODIMP BufferCB( double dblSampleTime, BYTE * pBuffer, long lBufferSize )
把回调函数封装在一个类CSampleGrabberCB里,定义CSampleGrabberCB mCB;
不知如何循环,多谢“兴星”兄
zhangzhx3
2009-05-06
打赏
举报
回复
貌似是设置SetOneShot(false);截图后继续运行graph,因此会一直有缓存进去.
具体的处理在回调函数里面进行.
你既然会抓一帧,来个循环就是连续抓图了.
yinfuyong
2009-05-06
打赏
举报
回复
各位大虾 帮帮忙啊 给个思路也行
c++写的
DirectShow
视频
连续
截图
DirectShow
下用I
Sample
Grabber
实现对视频进行
连续
截图,包括摄像头,模块已经封装成类。功能较全,建议初学者不要错过下载。
VC++视频捕捉和传输
VC++视频捕捉和传输VC++视频捕捉和传输VC++视频捕捉和传输VC++视频捕捉和传输
DirectShow
中
的视频捕捉
本篇文档主要描述关于用
Directshow
进行视频开发的一些技术主要包括下面内容1、关于视频捕捉(About Video Capture in Dshow)2、选择一个视频捕捉设备(Select capture device)3、预览视频(Previewing Video)4、如何捕捉视频流并保存到文件(Capture video to File)5、将设备从系统
中
移走时的事件通知(Device ...
DirectShow
之接口实战篇--视频抓图与播放控制
DirectShow
之接口实战篇(一)----------------------------------------------- 现今自己编程
做
一个多媒体播放工具是一件很令人开心愉悦的事情,但如果使用MediaPlay控制项开发则会受到很多限制,自己的很多好的创意想法都无法或者很难实现,如果利用微软的DirectX接口开发则可以充分的将作者的独特想法付诸於实现,何
SkeyeLive
中
DirectShow
采集音视频流程及几种采集方式介绍
前段时间SkeyeLive开放了
DirectShow
采集库,这个库底层采用
DirectShow
SDK的接口实现音视频的预览(播放)和采集;很多人可能还不太了解这个封装库的回调方式和之前的DShow线程采集方式有什么不同,或者说对
DirectShow
的采集流程还不太熟悉,下面我将就Windows平台下用使用
DirectShow
的过滤器(滤波器)进行流媒体开发的前端采集部分进行简要介绍,如果大家想深入的学习和探索,推荐大家去看看《Visual C++音频/视频处理技术及工程实践》这本书,第9章有详细的流程讲解
图形处理/算法
19,471
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章