我的手机是200万象素的,照相摄影的时候分辨率还是蛮好的。。
但是摄像的时候,分辨率只有120×160了,郁闷啊。。
我是用Directshow来采集数据的。。。
枚举视频格式的代码如下:
- hr = m_pCaptureBuilder->FindInterface(&PIN_CATEGORY_CAPTURE,
- &MEDIATYPE_Video,
- m_pFilterVideoCap, IID_IAMStreamConfig, (void **)&m_pAMStreamConfig);
- int iCount = 0, iSize = 0;
- hr = m_pAMStreamConfig->GetNumberOfCapabilities(&iCount, &iSize);
- if (iSize == sizeof(VIDEO_STREAM_CONFIG_CAPS))
- {
- // Use the video capabilities structure.
- for (int iFormat = 0; iFormat < iCount; iFormat++)
- {
- VIDEO_STREAM_CONFIG_CAPS scc;
- AM_MEDIA_TYPE *pAMMT = NULL;
- hr = m_pAMStreamConfig->GetStreamCaps(iFormat, &pAMMT, (BYTE*)&scc);
- VIDEOINFOHEADER *pVih = (VIDEOINFOHEADER*)pAMMT->pbFormat;
- pVih->bmiHeader.biWidth = 120;
- pVih->bmiHeader.biHeight = 160;
- pVih->bmiHeader.biSizeImage = pVih->bmiHeader.biWidth*pVih->bmiHeader.biHeight*pVih->bmiHeader.biBitCount/8;// DIBSIZE(pVih->bmiHeader);
- pVih->AvgTimePerFrame = scc.MinFrameInterval;
- //设置媒体类型
- hr = m_pAMStreamConfig->SetFormat(pAMMT);
- DeleteMediaType(pAMMT);
- }
- }
发现只有120×160这一种格式,要是我设置240×320酒会出错的。。
但我从网上下了一个软件Webcamera Plus是能捕获到240×320的视频的。。。
大家可知道,还有啥方法能设置视频的分辨率啊???