|
9.1.3 采集参数的设置
采集前需要对要采集的视频格式、图像质量进行设置,如视频的分辨率、帧率和数据格式,图像的亮度、色度和饱和度参数设置等。下面分别对这两种设置进行讲述。
1.视频格式设置
对采集设备的参数进行配置,首先确定设备的类型:VFW、WDM驱动模型。目前流行的采集设备大部分采用WDM模式,采集设备在DirectShow中被当做一个滤波器组件,所以配置采集设备就是对该滤波器的引脚进行设置。在确保滤波器链表完全建立前,可以使用如下的过程配置视频格式。
/*配置摄像头数据源格式:分辨率、RGB/I420等*/ void CCaptureClass::ConfigCameraPin(HWND hwndParent) { HRESULT hr; //返回值 IAMStreamConfig *pSC; //流配置接口 ISpecifyPropertyPages *pSpec; //属性页接口 //只有停止后,才能进行引脚属性的设置 m_pMC->Stop(); //首先查询捕获CAPTURE、视频Video接口 hr = m_pCapture->FindInterface(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, m_pBF, IID_IAMStreamConfig, (void **)&pSC); CAUUID cauuid; //所有属性页结构体 hr = pSC->QueryInterface(IID_ISpecifyPropertyPages, (void **)&pSpec); if(hr == S_OK) { hr = pSpec->GetPages(&cauuid); //获取所有属性页 //显示属性页 hr = OleCreatePropertyFrame(hwndParent, 30, 30, NULL, 1, (IUnknown **)&pSC, cauuid.cElems, (GUID *)cauuid.pElems, 0, 0, NULL); //释放内存、资源 CoTaskMemFree(cauuid.pElems); pSpec->Release(); pSC->Release(); } //回复运行 m_pMC->Run(); } | 上述代码首先以视频捕获方式获取流配置接口,在该接口下查询属性页接口,然后获取所有属性页,接着显示获取的属性页,最后释放资源。在显示了属性页后用户就可以对其属性页的对话框进行设置了,运行后的结果如图9-1所示。
|
| (点击查看大图)图9-1 视频格式属性设置 |
2.图像参数设置
图像参数设置类似于视频格式配置,根据设备的驱动类型VFW、WDM使用不同的技术配置设备的参数,这里我们同样假定采集设备的类型为WDM,配置过程如下。
/*配置图像参数:亮度、色度、饱和度等*/ void CCaptureClass::ConfigCameraFilter(HWND hwndParent) { HRESULT hr=0; ISpecifyPropertyPages *pProp; hr = m_pBF->QueryInterface(IID_ISpecifyPropertyPages, (void **)&pProp); if (SUCCEEDED(hr)) { //获取滤波器名称和IUnknown接口指针 FILTER_INFO FilterInfo; hr = m_pBF->QueryFilterInfo(&FilterInfo); IUnknown *pFilterUnk; m_pBF->QueryInterface(IID_IUnknown, (void **)&pFilterUnk); //显示该页 CAUUID caGUID; pProp->GetPages(&caGUID); OleCreatePropertyFrame( hwndParent, //父窗口 0, 0, //Reserved FilterInfo.achName, //对话框标题 1, //该滤波器的目标数目 &pFilterUnk, //目标指针数组 caGUID.cElems, //属性页数目 caGUID.pElems, //属性页的CLSID数组 0, //本地标识 0, NULL //Reserved ); //释放内存、资源 CoTaskMemFree(caGUID.pElems); pFilterUnk->Release(); FilterInfo.pGraph->Release(); pProp->Release(); } m_pMC->Run(); } | 捕获滤波器属性是对图像参数进行配置和修改,包括图像参数、白平衡和模式控制。这些参数一旦更改,预览的视频图像马上起作用。当调整到合适的情况下,单击"确定"按钮,关闭该对话框,运行后的结果如图9-2所示。
|
| (点击查看大图)图9-2 运行后的结果 |
【责任编辑: 云霞 TEL:(010)68476606】
|