CvMat数据在屏幕上打印

/*********************************
函数名:  PrintMat(CvMat *matrix)
函数输入:matrix指针 数据类型opencv规定的任意一个
函数作用:在屏幕上打印矩阵
**********************************/
void PrintMat(CvMat *matrix, bool save_or_show =false,FILE *fp=NULL)
{
	int i=0;
	int j=0;
	for(i=0;i < matrix->rows;i++)//行
	{
		if (save_or_show)
		{
			fprintf(fp,"\n");
		} 
		else
		{
			printf("\n");
		}
		switch(matrix->type&0X07)
		{
		case CV_32F: 
		case CV_64F:
			{
				for(j=0;j<matrix->cols;j++)//列
				{
					if (save_or_show)
					{
						fprintf(fp,"%9.3f ",(float)cvGetReal2D(matrix,i,j));
					} 
					else
					{
						printf("%9.3f ",(float)cvGetReal2D(matrix,i,j));
					}
				}
				break;
			}
		case CV_8U:
		case CV_16U:
			{
				for(j=0;j<matrix->cols;j++)
				{
					printf("%6d  ",(int)cvGetReal2D(matrix,i,j));
					if (save_or_show)
					{
						fprintf(fp,"%6d  ",(int)cvGetReal2D(matrix,i,j));
					} 
					else
					{
						printf("%6d  ",(int)cvGetReal2D(matrix,i,j));
					}
				}
				break;
			}
		default:
			break;
		}
	}
}
//*****************************

你可能感兴趣的:(CvMat)