我的OpenCV程序中有以下异常。我的计算机中有以下图像,我将其移至手机并通过Mat imageRead = Highgui.imread("/mnt/sdcard/Pictures/2im00.png");
然后我尝试使用以下语句将其颜色空间转换为HSV,并在此语句中获得异常。
Imgproc.cvtColor(imageRead, hsvImage, Imgproc.COLOR_RGB2HSV);
但异常似乎并没有告诉我它在函数cvtColor
中的含义,或者我无法在那里读取编码信息。
所以问题是我怎么知道为什么我会得到这个例外?
那里是否有任何编码信息,如某些代码(如scn == 3或scn == 4或错误:-215或深度等等),我可以在某处浏览以找出我获得异常的原因?
答案 0 :(得分:2)
最有可能的是,由于您将空图像传递给cvtColor函数,因此会发生断言失败。 要么 您传递的Mat图像不是CV_8U或CV_32F格式。
我同意Miki的评论更多详情,请点击此链接How to interpret c++ opencv Assertion error messages due to an error in cvtColor function?