2

我正在使用 Aforge .NET 框架在我的应用程序中获取网络摄像头,但我总是得到一个全灰色的图像框架。

            this.videoSource = new VideoCaptureDevice(this.Moniker);
            this.videoSource.DesiredFrameSize = GetHighestResolution(this.videoSource.VideoCapabilities);
            this.videoSource.NewFrame += new NewFrameEventHandler(videoSource_NewFrame);
            this.videoSource.Start();

通风口处理程序:

    private void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
    {
        this.outputBox.Image = (Bitmap)eventArgs.Frame.Clone();
    }

这应该可以解决问题。DesiredFrameSize设置为凸轮可以支持的最大值。

任何提示为什么图像总是灰色的?即使写它做磁盘...

编辑:添加:来自Aforge samples的示例应用程序SimplePlayer也会出现同样的问题。我的网络摄像头是罗技 QuickCam Pro 9000。

Edit2:同样适用于 small DesiredFramesizes

4

1 回答 1

0

也许相机没有包裹在directshow(某种directx的东西)上。有些相机带有自己的驱动程序,或不同的内部工作。我有一些高速工业相机,有类似的问题。我必须使用不同的方法从它们中检索原始图像,然后对这些图像进行伪造。

也许使用较旧的廉价 USB2 相机检查您的代码

于 2016-03-10T17:01:10.787 回答