首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >矩阵OpenCV的大小

矩阵OpenCV的大小
EN

Stack Overflow用户
提问于 2012-12-25 14:15:33
回答 4查看 262.2K关注 0票数 142

我知道这可能是非常初级的,但我是OpenCV的新手。您能告诉我如何在OpenCV中获得矩阵的大小吗?我已经用谷歌搜索过了,我还在搜索中,但是如果你们中有人知道答案,请帮助我。

大小与行数和列数相同。

有没有办法直接获得2D矩阵的最大值?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-25 14:29:06

cv:Mat mat;
int rows = mat.rows;
int cols = mat.cols;

cv::Size s = mat.size();
rows = s.height;
cols = s.width;
票数 259
EN

Stack Overflow用户

发布于 2014-02-23 15:19:47

请注意,除了行和列之外,还有许多通道和类型。当明确类型是什么时,通道可以充当额外的维度,就像在CV_8UC3中一样,因此您可以将矩阵称为

uchar a = M.at<Vec3b>(y, x)[i];

因此,基本类型元素的大小是M.rows * M.cols * M.cn

要找出可以使用的max元素

Mat src;
double minVal, maxVal;
minMaxLoc(src, &minVal, &maxVal);
票数 20
EN

Stack Overflow用户

发布于 2016-06-16 22:43:46

对于2D矩阵:

mat.rows -二维数组中的行数。

mat.cols -二维数组中的列数。

或者: C++:Size Mat::size()常量

该方法返回一个矩阵大小: Size(cols,rows)。当矩阵大于2维时,返回的大小为(-1,-1)。

对于多维矩阵,您需要使用

int thisSizes[3] = {2, 3, 4};
cv::Mat mat3D(3, thisSizes, CV_32FC1);
// mat3D.size tells the size of the matrix 
// mat3D.size[0] = 2;
// mat3D.size[1] = 3;
// mat3D.size[2] = 4;

注意,这里2表示z轴,3表示y轴,4表示x轴。x,y,z指的是维度的顺序。X指数变化最快。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14028193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档