size()和图像矩阵rowsxcolumns之间的差异

时间:2015-06-09 11:15:19

标签: c++ opencv

我是opencv的初学者。我试图重塑一个矩阵,但它似乎不起作用。

Mat image=imread("xyz.png",1);
cout<<image.size()<<endl;
cout<<image.rows<<"x"<<image.cols<<endl;

为什么这两个输出不同?

2 个答案:

答案 0 :(得分:1)

来自cv documentation

  

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

因此,当您打印尺码时,您会获得cols x rows,而在第二个cout中,您会获得rows x cols

答案 1 :(得分:0)

来自OpenCV documentation

  

垫::大小   返回矩阵大小。

     

C ++:Size Mat::size() const   该方法返回矩阵大小:Size(cols,rows)。当矩阵大于> 2维时,返回的大小为(-1,-1)。

因此,在第一种情况下,您要打印cols x行,在第二种情况下打印行x cols。