【问题标题】:How to get depth and channel for a cvMat?如何获得 cvMat 的深度和通道?
【发布时间】:2012-06-27 22:51:35
【问题描述】:

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

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

【问题讨论】:

    标签: opencv


    【解决方案1】:

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

    print mymat.type
    

    返回类型代码。 如果要获取深度和通道号,我发现的最简单的方法是使用 cv.GetImage 生成 IplImage 标头,例如

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

    我相信 cv2 消除了所有 IplImage/cvMat 的东西,并将其全部放入 Mat 中。

    【讨论】:

    • 那么 cv2 从图像中获取通道数的方法是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多