opencv下如何打印出一个三通道或者二通道矩阵

打印一个3通道矩阵:
inline void cv3DoubleMatPrint( const CvMat* mat )
{
int i, j;
for( i = 0; i < mat->rows; i++ )
{
for( j = 0; j < mat->cols; j++ )
{
CvScalar scal = cvGet2D( mat, i, j );
printf( "(%f,%f,%f) ", scal.val[0], scal.val[1], scal.val[2] );
}
printf( "/n" );
}

}

这个方法巧妙的利用了CvScalar,进行打印。

类似的如果要打印一个2通道矩阵,在图像矩阵中有时需要存复数。就需要2通道矩阵了。

inline void cv2DoubleMatPrint( const CvMat* mat )
{
int i, j;
for( i = 0; i < mat->rows; i++ )
{
for( j = 0; j < mat->cols; j++ )
{
CvScalar scal = cvGet2D( mat, i, j );
printf( "(%f,%f) ", scal.val[0], scal.val[1],);
}
printf( "/n" );
}

}

参考资料:


你可能感兴趣的:(opencv)