如何理解 OpenCV 程序中引发的这个异常

How to understand this exception raised in an OpenCV program

我的 OpenCV 程序中出现以下异常。我的电脑里有下面的图片,我把它移到我的手机上 phone 并由 Mat imageRead = Highgui.imread("/mnt/sdcard/Pictures/2im00.png");

阅读

然后我尝试使用以下语句将其颜色 space 转换为 HSV,并在该语句中得到异常。

Imgproc.cvtColor(imageRead, hsvImage, Imgproc.COLOR_RGB2HSV);

但是除了在函数 cvtColor 中,异常似乎没有告诉我任何其他信息,或者我无法读取那里的编码信息。

所以问题是我如何找出我收到此异常的原因?

那里是否有任何编码信息,例如一些代码(如 scn==3 或 scn==4 或 error:-215 或 depth 等),我可以在某个地方浏览以找出为什么我得到异常?

最有可能的是,发生断言失败是因为您将空图像传递给 cvtColor 函数。 要么 您传递的 Mat 图像不是 CV_8U 或 CV_32F 格式。

我同意 Miki 的评论以获取更多详细信息,请关注此 link