我正在做一个项目,我从相机中获取视频流并对视频中的每一帧进行处理。
我正在使用 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;