如何获得摄像头采集到的数据格式?

yupengchen951124 2010-11-15 04:18:51
现在使用dirctshow我做了一个采集的程序,已完成了预览以及从摄像头中获取帧数据的功能,但是如何获得获得的帧数据是什么格式的(到底是rgb类型的还是yuv类型)?获取帧数据的相关代码如下:
unsigned char* sgGrabData()
{
HRESULT hr;

if (pGrabber == 0)
return 0;

long Size = 0;
hr = pGrabber->GetCurrentBuffer(&Size, NULL);
if (FAILED(hr))
return 0;
else if (Size != pBufferSize) {
pBufferSize = Size;
if (pBuffer != 0)
delete[] pBuffer;
pBuffer = new unsigned char[pBufferSize];
}

hr = pGrabber->GetCurrentBuffer(&pBufferSize, (long*)pBuffer);
if (FAILED(hr))
return 0;
else {
sgFlipUpDown(pBuffer);
return pBuffer;
}
}
...全文
497 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rageliu 2010-11-16
  • 打赏
  • 举报
回复
我前面那个说错了,说成格式改变了,呵呵。

取pin的连接格式,可以用pin指针的ConnectionMediaType
yupengchen951124 2010-11-16
  • 打赏
  • 举报
回复
谢谢楼上两位高人,我试试看啦。
tufaqing 2010-11-16
  • 打赏
  • 举报
回复
ISampleGrabber::GetConnectedMediaType
AM_MEDIA_TYPE::majortype = MEDIATYPE_Video
AM_MEDIA_TYPE::subtype = MEDIASUBTYPE_RGB24,MEDIASUBTYPE_RGB32,MEDIASUBTYPE_YUY2...
rageliu 2010-11-16
  • 打赏
  • 举报
回复
IMediaSample interface
AM_MEDIA_TYPE * pMediaType;
pSample->GetMediaType(&pMediaType);
yupengchen951124 2010-11-16
  • 打赏
  • 举报
回复
自己顶下吧。

19,468

社区成员

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

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