Emgu.CV.Util.CvException: 'OpenCV: i < 0' 异常

Emgu.CV.Util.CvException: 'OpenCV: i < 0' Exception

我是 EmguCV 的新手。我正在尝试使用 CvInvoke.DrawContours() 方法“DrawContours”,但是,当 运行 时出现以下异常:

Emgu.CV.Util.CvException: 'OpenCV: i < 0'

错误代码为

if (biggestCountor.Size != 0)
{
     CvInvoke.DrawContours(imgBiggestContours, biggestCountor, -1, new MCvScalar(0, 255, 100), 20);
}

biggestCountor变量是VectorOfPoint类型,它的值是

[234, 110]

[174, 369]

[601, 405]

表示Points坐标。

我认为错误出在 biggestCountor 变量上,因为当用另一个相同类型的变量替换它时,但在同一代码上使用不同的值,它是有效的。

我正在使用 EmguCV 4.5.1.4349Visual Studio 2019.

我相信,如果您尝试绘制具有第四个通道(alpha 通道)的图像,您可能会遇到此类异常。我总是先尝试检查图像的类型,看看它是否只有 3 个以上的通道,如果有,我会使用 RGBA 将其转换为 RGB,然后您可以调用 drawContours