Opencv 如何获得cvMat的深度和通道?

Opencv 如何获得cvMat的深度和通道?,opencv,Opencv,我正在使用fromArray()函数将numpy数组转换为cvMat。现在,当我尝试对其应用阈值时,我得到以下错误 OpenCV错误:阈值中不支持的格式或格式组合() 在检查stackoverflow时,我发现可能是我的图像的通道或深度有问题。但我不确定如何检查cvMat的性能。有人能告诉我如何在python中检查cvMat的深度和通道数吗。好吧,你不能直接从cvMat获得它,因为cvMat有类型而不是深度/通道,所以 print mymat.type 返回类型代码。 如果您想获得深度和通道号

我正在使用fromArray()函数将numpy数组转换为cvMat。现在,当我尝试对其应用阈值时,我得到以下错误 OpenCV错误:阈值中不支持的格式或格式组合()


在检查stackoverflow时,我发现可能是我的图像的通道或深度有问题。但我不确定如何检查cvMat的性能。有人能告诉我如何在python中检查cvMat的深度和通道数吗。

好吧,你不能直接从cvMat获得它,因为cvMat有类型而不是深度/通道,所以

print mymat.type
返回类型代码。 如果您想获得深度和通道号,我发现的最简单的方法是使用cv.GetImage like生成IplImage标头

print cv.GetImage(mymat).depth,cv.GetImage(mymat).nChannels

我相信cv2去掉了所有的IplImage/cvMat内容,并将其全部滚动到Mat中。

那么cv2从图像中获取通道数的方法是什么呢?