一招查看cv::Mat 的数据结构类型

Posted 小小的小孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一招查看cv::Mat 的数据结构类型相关的知识,希望对你有一定的参考价值。

我们常常想知道自己用imread读取进来的图片到底是多大?是几个通道?最小的元素的数据类型又是什么样的?

 

Image=cv::imread(filename);

查看cv::Mat 的类定义可知:

  1.欲知大小(即长和宽)可以用

   Image.size().width  和 Image.size().height

   或者: Image.cols和I.rows

  2,欲知通道

   Image.channels()

  3.欲知数据类型

   Image.type()

   问题来了,此处返回的是一个int,而我想知道的是具体的类型啊,好坑爹,所以我整理了一下,如下表(ps:type的值和图片的通道数无关)

CV_64F type=22
CV_32F type=21
CV_32S type=20
CV_16S type=19
CV_16U type=18
CV_8S type=17
CV_8U type=16

到这里,应该就可以对一个Mat了如指掌了。放心的对它进行处理吧。

以上是关于一招查看cv::Mat 的数据结构类型的主要内容,如果未能解决你的问题,请参考以下文章

CV::Mat介绍

opencv cv::mat::data是什么数据类型?

从 cv::Mat 获取部分数据

试图将 cv::Mat 数据复制到 uchar *

如何从 cv::Mat 转换为 CvArr?

将一行 cv::Mat 转换为 std::vector