如何在媒体基金会中控制相机捕获显示
How to control camera capture display in MediaFoundation?
我想知道我可以使用哪个MediaFoundation API来控制亮度,对比度,色调和饱和度等?我发现 IMFVideoProcessor::SetProcAmpValues 可以修改这些属性,但这些属性在显卡中被修改;我想通过捕获设备或AVStream中的MediaFoundation界面来修改这些内容。谢谢!
与
DirectShow相同:为您的视频捕获设备获取 IMFMediaSource,然后查询 IAMVideoProcAmp 接口:
IMFMediaSource * pSource = NULL;
...
IAMVideoProcAmp *pProcAmp = NULL;
hr = pSource->QueryInterface(IID_PPV_ARGS(&pProcAmp));
if (SUCCEEDED(hr))
{
long lMin, lMax, lStep, lDefault, lCaps;
hr = pProcAmp->GetRange(
VideoProcAmp_Brightness,
&lMin,
&lMax,
&lStep,
&lDefault,
&lCaps
);
if (SUCCEEDED(hr))
{
hr = pProcAmp->Set(
VideoProcAmp_Brightness,
lMax,
VideoProcAmp_Flags_Manual
);
}
}
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- Qt QML相机在部署后显示白屏
- 在直接显示中查询相机控件
- 如何使用win IoT在Raspberry Pi上的相机中显示视频流以及一些图像处理
- 如何显示视频捕获过滤器对话框(亮度,曝光等相机设置)
- 使用树莓派相机和打开简历显示视频时出错
- 使用Qt显示相机图像会出现HIGHGUI错误:V4L/V4L2:VIDIOC_S_CROP
- 可能存在SDL_Net问题和使用 openCV 显示内存中的 YUV 相机帧
- 在来自相机的视频上显示一个矩形
- 使用直接显示控制相机,并使用打开的CV捕获图像
- 使用 EVR 直接通过媒体基础显示相机设备捕获的帧
- 访问Ximea相机并使用OpenCV设置预定义的分辨率时,由于相机默认分辨率的大小为Mat,因此显示混乱的输出
- 如何在媒体基金会中控制相机捕获显示
- 使用C++与3000Hz的线阵扫描相机接口,并处理/显示数据
- gstreamer 管道代码,用于通过来自相机的实时流式传输而不是图像显示文本
- 最大的相机抓取和显示性能
- 使用相机旋转使四边形始终显示在相机前面(c++/opengl)
- OpenCV 不会显示分辨率大于 640x480 的相机源