C++ 矩阵(图像)OpenCV的大小

C++ 矩阵(图像)OpenCV的大小,c++,opencv,C++,Opencv,如何获得图像的尺寸(宽度和高度) 我刚刚看到,它显示了两种方法,但没有明确说明它们是否完全等效: 这两种方法在任何情况下都是完全等效的吗 如果有区别,有什么区别 OpenCV版本:4这两种方法完全相同。我相信这些函数的存在是为了方便,因为有几种情况下每种方法都是有用的 例如,要创建一个与另一个大小相同的新的cv::Mat,它更便于编写和阅读 cv::Mat new_mat = cv::Mat(old_mat.size(), old_mat.type()) 而且,我相信函数调用更少。而且它

如何获得图像的尺寸(宽度和高度)

我刚刚看到,它显示了两种方法,但没有明确说明它们是否完全等效:

这两种方法在任何情况下都是完全等效的吗

如果有区别,有什么区别



OpenCV版本:4

这两种方法完全相同。我相信这些函数的存在是为了方便,因为有几种情况下每种方法都是有用的

例如,要创建一个与另一个大小相同的新的
cv::Mat
,它更便于编写和阅读

cv::Mat new_mat = cv::Mat(old_mat.size(), old_mat.type()) 

而且,我相信函数调用更少。而且它使用起来更方便,阅读起来也更容易,函数调用更少

for(int i=0; i<old_mat.rows; i++)
   for(int j=0; l< old_mat.cols; j++)

用于(int i=0;我是否检查了文档?您使用的是什么版本的OpenCV?我检查了,并通读了头文件
,但没有找到明确的答案。我总是发现OpenCV文档非常糟糕。对于2D Mat的常见情况,您会得到相同的数字。如果有两个以上的维度,请访问
de>cols
直接为每个成员提供-1,而在
size
成员上调用()运算符将导致断言。
cv::Mat new_mat = cv::Mat(old_mat.rows, old_mat.cols, old_mat.type()
for(int i=0; i<old_mat.rows; i++)
   for(int j=0; l< old_mat.cols; j++)
for(int i=0; i<old_mat.size().width; i++)
   for(int j=0; j<old_mat.size().height; j++)