0

我正在做一个项目,我从相机中获取视频流并对视频中的每一帧进行处理。

我正在使用 openCv 和 c#,问题是:我创建了一个Capture _capture;并启动它并为其分配了一个事件,_capture.ImageGrabbed += ProcessFrame; 我在“ProcessFrame”中使用了以下代码

using(Image<Bgr, Byte> image = _capture.RetrieveBgrFrame())
{
  if(image != null)
  {
    image.SmoothGaussian(3);
    frameQueue.Enqueue(image);
    captureImgBox.Image=image;
  }
}

其中 frameQueueQueueu<Image<Bgr, Byte>>用于保存所有帧并在 backgrounWorker 中处理它们。

第一帧运行没有任何错误,但第二帧没有。

例外情况是:OpenCV:此行中无法识别或不支持的数组类型 captureImgBox.Image=image;

4

0 回答 0