2012-04-22 123 views
2

我使用Aforge .NET框架在我的应用程序中获取网络摄像头,但我总是会看到全灰色的图像帧。Aforge网络摄像头画框始终为灰色图像

  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设置为凸轮可以支持的最高值。

任何暗示为什么图像总是灰色的?即使在写入磁盘时也是如此...

编辑:要添加:样例应用程序SimplePlayerAforge samples发生同样的问题。我的摄像头是Logitech QuickCam Pro 9000.

编辑2:对于小编号DesiredFramesizes也是如此。

+1

出于兴趣你尝试过一个小VideoSource.DesiredFrameSize? – TomP89 2012-04-22 20:05:24

+0

是的,更新的问题。除160x120例如 – ZoolWay 2012-04-22 21:16:11

+0

嗯很奇怪。你有另一个摄像头测试相同的代码?此外,我认为这台相机可以用Logitech应用程序中的一种进行全彩色处理?我也建议(如果你还没有)留在aforge论坛的帖子,因为我发现他们非常有帮助 – TomP89 2012-04-22 21:33:43

回答

0

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

使用旧也许检查你的代码便宜USB2相机的