为了账号安全,请及时绑定邮箱和手机立即绑定

如何在OpenCV中使用Mat :: type()找出Mat对象的类型

如何在OpenCV中使用Mat :: type()找出Mat对象的类型

红糖糍粑 2019-11-23 12:44:04
我对OpenCV中type()的Mat对象方法感到困惑。如果我有以下几行:mat = imread("C:\someimage.jpg");type = mat.type();和type = 16。我如何找出垫矩阵的类型?我试图在手册中或徒劳的几本书中找到答案。
查看完整描述

3 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

为了进行调试,以防在调试器中查找原始的Mat :: type:


+--------+----+----+----+----+------+------+------+------+

|        | C1 | C2 | C3 | C4 | C(5) | C(6) | C(7) | C(8) |

+--------+----+----+----+----+------+------+------+------+

| CV_8U  |  0 |  8 | 16 | 24 |   32 |   40 |   48 |   56 |

| CV_8S  |  1 |  9 | 17 | 25 |   33 |   41 |   49 |   57 |

| CV_16U |  2 | 10 | 18 | 26 |   34 |   42 |   50 |   58 |

| CV_16S |  3 | 11 | 19 | 27 |   35 |   43 |   51 |   59 |

| CV_32S |  4 | 12 | 20 | 28 |   36 |   44 |   52 |   60 |

| CV_32F |  5 | 13 | 21 | 29 |   37 |   45 |   53 |   61 |

| CV_64F |  6 | 14 | 22 | 30 |   38 |   46 |   54 |   62 |

+--------+----+----+----+----+------+------+------+------+

因此,例如,如果type = 30,则OpenCV数据类型为CV_64FC4。如果type = 50,则OpenCV数据类型为CV_16UC(7)。


查看完整回答
反对 回复 2019-11-23
  • 3 回答
  • 0 关注
  • 1318 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信