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