【发布时间】:2012-06-27 22:51:35
【问题描述】:
我正在使用 fromArray() 函数将 numpy 数组转换为 cvMat。现在,当我尝试对其应用阈值时,出现以下错误 OpenCV 错误:阈值中不支持的格式或格式组合 ()
在检查 stackoverflow 时,我发现这可能是我的图像的通道或深度问题。但我不确定如何检查 cvMat。有人可以告诉我如何在 python 中检查 cvMat 的深度和通道数。
【问题讨论】:
标签: opencv
我正在使用 fromArray() 函数将 numpy 数组转换为 cvMat。现在,当我尝试对其应用阈值时,出现以下错误 OpenCV 错误:阈值中不支持的格式或格式组合 ()
在检查 stackoverflow 时,我发现这可能是我的图像的通道或深度问题。但我不确定如何检查 cvMat。有人可以告诉我如何在 python 中检查 cvMat 的深度和通道数。
【问题讨论】:
标签: opencv
嗯,你不能直接从 cvMat 得到它,因为 cvMat 有类型而不是深度/通道,所以
print mymat.type
返回类型代码。 如果要获取深度和通道号,我发现的最简单的方法是使用 cv.GetImage 生成 IplImage 标头,例如
print cv.GetImage(mymat).depth,cv.GetImage(mymat).nChannels
我相信 cv2 消除了所有 IplImage/cvMat 的东西,并将其全部放入 Mat 中。
【讨论】: