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