打印opencv中Mat矩阵的小工具(C++实现)

时间:2022-05-07 20:18:21

从我一开始从python转到C++写opencv的代码的时候,说实话有点难受,主要是python的工具太过于全面,然后用起C++来各种的不适应。比如打印个数组内容,python一个print就可以搞定,C++却要自己去实现,但是为了代码的效率还是要用C++。打印opencv中Mat矩阵的小工具(C++实现)

其实实现还是很简单的,不过不太想浪费时间在上面,所以直接放出来给大家用。

下面就直接贴上我自己在调试代码时用的打印函数:

//打印一个Mat矩阵
void PrintMat(Mat A)
{
  for(int i=0;i<A.rows;i++)
  {
    for(int j=0;j<A.cols;j++)
      cout<<A.at<float>(i,j)<<' ';
    cout<<endl;
  }
  cout<<endl;
}

//打印n个Mat矩阵
#include <stdarg.h>
void CloudPoint::PrintManyMat(int num, ...)
{
  Mat p;
  va_list args;  
  va_start(args, num);
  
  for(int i=0;i<num;i++)
  {
    cout<<"---"<<i+1<<"--------------------------------------"<<endl;
    p = va_arg(args, Mat);
    PrintMat(p);
  }
  va_end(args);
}