前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【opencv】cv::Mat 公有成员函数 (Public Member Func)

【opencv】cv::Mat 公有成员函数 (Public Member Func)

作者头像
JNingWei
发布2020-03-12 19:15:14
1.2K0
发布2020-03-12 19:15:14
举报
文章被收录于专栏:JNing的专栏

Public Member Func

channels()

Mat矩阵元素拥有的通道数。

depth()

用来度量每一个像素中每一个通道的精度,但它本身与图像的通道数无关。 depth数值越大,精度越高。 Mat.depth()得到的是一个0~6的数字,分别代表不同的位数,对应关系如下:

enum{CV_8U=0,CV_8S=1,CV_16U=2,CV_16S=3,CV_32S=4,CV_32F=5,CV_64F=6}

其中U是unsigned的意思,S表示signed,也就是有符号和无符号数。

elemSize()

elem是element(元素)的缩写,表示矩阵中每一个元素的数据大小,如果Mat中的数据类型是CV_8UC1,那么elemSize=1;如果是CV_8UC3或CV_8SC3,那么elemSize=3;如果是CV_16UC3或者CV_16SC3,那么elemSize=6;即elemSize是以8位(一个字节)为一个单位,乘以通道数和8位的整数倍;

elemSize1()

elemSize加上一个“1”构成了elemSize1这个属性,1可以认为是元素内1个通道的意思,这样从命名上拆分后就很容易解释这个属性了:表示Mat矩阵中每一个元素单个通道的数据大小,以字节为一个单位,所以有:

eleSize1==elemSize/channels;

rowRange()

为指定的行span创建一个新的矩阵头,可取指定行区间元素。

colRange()

为指定的列span创建一个新的矩阵头,可取指定列区间元素。

zeros()

ones()

empty()

at()

isContinuous()

判断图像存储是否连续。

clone()

m1 = m0.clone(); //将m0完全拷贝到m1中,同时拷贝m0中的所有数据,且拷贝的矩阵是连续的。

copyTo()

m0.copyTo(m1); // 将m0中的内容拷贝到m1中,如果有必要重新分配m1(等价于m1 = m0.clone())。 m0.copyTo(m1, mask); //将m0中,mask所指示的的数据拷贝到m1中。

convertTo()

m0.convertTo(m1, type, scale, offset); //将m0中的元素转换成type类(CV_32F等),作scale尺度的缩放,offset偏移,写入m1中。

setTo()

m0.setTo(s,mask); //将m0中所有的元素的值设为s;如果使用mask,则只设定mask中的非零元素。

reshape()

m0.reshape(chan, rows); //改变二维矩阵的的实际形状,不进行数据拷贝;若chan或rows为0,则表示不作改变。

push_back()

m0.push_back(s); //对mx1矩阵进行扩展,并在末尾插入单一值s。 m0.push_back(m1); //对mxn矩阵作k行扩展,并将m1拷贝到这些行中;m1的大小为kxn。

pop_back()

m0.pop_back(n); //从m0尾部移除n行,默认情况下n为1。

locateROI()

m0.locateROI(size, offset); //将m0的大小重写为size,如果m0重写后变成更大的矩阵,则起始点为cv::Pointoffset点。

adjustROI()

m0.adjustROI(t, b, l, r); //在m0的上下左右分别添加t、b、l、r个像素。

total()

m0.total(); //计算所有数组元素的个数,不考虑通道。

isContinuous()

m0.isContinuous(); //如果m0所有的行在内存空间中打包时都没有间隙,则返回true。

elementSize()

m0.elementSize(); //返回矩阵m0中每个元素的字节大小(如3通道float型的矩阵则返回12)。

elementSize1()

m0.elementSize1(); //返回矩阵m0中每个次元素的字节大小(如3通道float型的矩阵则返回4)。

type()

Mat矩阵的类型,包含有矩阵中元素的类型以及通道数信息,type的命名格式为CV_(位数)+(数据类型)+(通道数)。 m0.type(); //返回m0中元素的有效类型标识符(如CV_32FC3)。

depth()

m0.depth(); //返回m0中单个通道中元素的有效类型标识符(如CV_32F)。

channels()

m0.channels(); //返回m0中元素的通道数目。

size()

m0.size(); //以cv::Size对象的形式返回m0的大小。

empty()

m0.empty(); //如果数组中没有元素(如m0.total = 0或m0.data = NULL)则返回true。


参考文献

[1] cv::Mat Class Reference [2] OpenCV3 cv::Mat类成员函数详解 [3] OpenCV2:总结篇 cv::Mat 类 [4] OpenCV—矩阵数据类型转换cv::convertTo [5] Opencv Mat矩阵中data、size、depth、elemSize、step等属性的理解

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Public Member Func
    • channels()
      • depth()
        • elemSize()
          • elemSize1()
            • rowRange()
              • colRange()
                • zeros()
                  • ones()
                    • empty()
                      • at()
                        • isContinuous()
                        • clone()
                          • copyTo()
                            • convertTo()
                              • setTo()
                                • reshape()
                                  • push_back()
                                    • pop_back()
                                      • locateROI()
                                        • adjustROI()
                                          • total()
                                            • isContinuous()
                                              • elementSize()
                                                • elementSize1()
                                                  • type()
                                                    • depth()
                                                      • channels()
                                                        • size()
                                                          • empty()
                                                          领券
                                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档