Directshow修改摄像头分辨率
2021-05-11
762
0
在用directshow开发时可能需要修改视频的分辨率便于网络传输,可以用如下方法:
IAMStreamConfig *pSC=NULL;
VIDEOINFOHEADER *vinfo=0;
hr= pBuilder2->FindInterface(&PIN_CATEGORY_CAPTURE,&MEDIATYPE_Video,pSrc, IID_IAMStreamConfig,(void **)&pSC);
if (FAILED(hr))
{
AfxMessageBox("fail");
}
AM_MEDIA_TYPE * mmt=NULL;
pSC->GetFormat(&mmt); //取得默认参数
VIDEOINFOHEADER * pvih = (VIDEOINFOHEADER*)mmt->pbFormat;
pvih->bmiHeader.biHeight=240; //修改采集视频的高为240
pvih->bmiHeader.biWidth=320; //修改采集视频的宽为320
mmt->pbFormat = (unsigned char *) pvih;
pSC->SetFormat(mmt);
但分辨率必须的摄像头支持的,可以用graphedit查看摄像头支持的分辨率大小。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936