如何获得cvMat的深度和频道?

时间:2012-06-27 22:51:36

标签: opencv

我使用fromArray()函数将numpy数组转换为cvMat。现在,当我尝试对其应用阈值时,我得到以下错误 OpenCV错误:阈值

中不支持的格式或格式组合()

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

1 个答案:

答案 0 :(得分:1)

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

print mymat.type

返回类型代码。 如果你想获得深度和频道号,我发现最简单的方法就是用cv.GetImage生成IplImage头像

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

我相信cv2会取消所有IplImage / cvMat的东西并将它们全部放入Mat中。