我正在制作项目,我从相机获取视频流并对此视频中的每一帧进行处理。
我正在使用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;
}
}
其中frameQueue为Queueu<Image<Bgr, Byte>>
,用于保存所有帧并在backgrounWorker中处理它们。
第一帧正在运行,没有任何错误,但第二帧不是。
例外是:
OpenCV:此行中无法识别或不支持的数组类型
captureImgBox.Image=image;