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