Image directshow从何处获取图像尺寸?

Image directshow从何处获取图像尺寸?,image,c#-4.0,image-processing,directshow,directshow.net,Image,C# 4.0,Image Processing,Directshow,Directshow.net,我们使用directshow接口从视频流中捕获图像。这些图像显示在固定大小的窗口中 一旦我们捕获了一幅图像,我们将其存储为位图。在下游,我们可以为图像添加注释,例如固定大小字体中的字母 在我们的一个桌面环境中,注释开始显示为其正常显示大小的一半。这意味着我们将文本合并到的图像的尺寸可能是原来的两倍 发生这种情况的系统是一个共享资源,因为一些未知的个人在系统上安装了与我们的基线不同的软件 我们有两种方法-第一种是重新映射系统,以恢复默认的文本大小行为。第二个是了解directshow如何管理图像尺

我们使用directshow接口从视频流中捕获图像。这些图像显示在固定大小的窗口中

一旦我们捕获了一幅图像,我们将其存储为位图。在下游,我们可以为图像添加注释,例如固定大小字体中的字母

在我们的一个桌面环境中,注释开始显示为其正常显示大小的一半。这意味着我们将文本合并到的图像的尺寸可能是原来的两倍

发生这种情况的系统是一个共享资源,因为一些未知的个人在系统上安装了与我们的基线不同的软件

我们有两种方法-第一种是重新映射系统,以恢复默认的文本大小行为。第二个是了解directshow如何管理图像尺寸,以便我们可以正确设置图像的缩放比例


对directshow文献的调查表明,上述任务并非微不足道。最初的工作是由另一个没有记录他们所做工作的团队完成的。有人能告诉我们要处理什么directshow对象才能正确调整采样图像的大小吗?

directshow作为一个框架,不直接处理分辨率。您的视频源(如捕获硬件)能够提供特定分辨率的视频源,您可以更改该分辨率。通常使用中所述的
IAMStreamConfig
来选择捕获分辨率


有时,您无法影响捕获分辨率,您需要以捕获的任何维度对图像重新采样。这里没有股票过滤器,但是媒体基金会提供了一个适合大多数任务的过滤器。不幸的是,它不能顺利地适应DirectShow管道,因此您需要调整大小的合适和/或自定义过滤器。

DirectShow作为一个框架,不能直接处理分辨率。您的视频源(如捕获硬件)能够提供特定分辨率的视频源,您可以更改该分辨率。通常使用中所述的
IAMStreamConfig
来选择捕获分辨率


有时,您无法影响捕获分辨率,您需要以捕获的任何维度对图像重新采样。这里没有股票过滤器,但是媒体基金会提供了一个适合大多数任务的过滤器。不幸的是,它不能顺利地适应DirectShow管道,因此您需要安装和/或自定义过滤器来调整大小。

当过滤器在DirectShow中连接时,它们有一个
AM\U媒体类型
。在这里,您可以找到一个带有
BitMapInfo头的
VIDEOINFOHEADER
,该头具有biWidth和biHeight。
尝试手动生成FilterGraph(使用GraphiEdit或)并检查这些字段。

当过滤器在DirectShow中连接时,它们具有
AM\U媒体类型。在这里,您可以找到一个带有
BitMapInfo头的
VIDEOINFOHEADER
,该头具有biWidth和biHeight。
尝试手动构建FilterGraph(使用Graphidit或)并检查这些字段。

位图信息标题表示我们遇到问题的图像的分辨率约为正常工作的系统图像分辨率的一半。现在,我们来看看为什么…位图信息标题表明,我们遇到问题的图像的分辨率大约是正常工作的系统中一幅图像的一半。现在来找出原因。。。