opencv下如何打印出一个三通道或者二通道矩阵
2012-05-15 17:32
239 查看
打印一个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" );
}
}
参考资料:
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打印二通道或三通道矩阵
- OpenCV_累加一个三通道矩阵中的所有元素
- 打印一个单/多通道矩阵
- opencv累加一个三通道矩阵的所有元素(结果绝对正确)
- 如何创建一个四维的矩阵,存储多个3通道彩色图片
- opencv 如何创建一个三通道灰度图
- JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数.
- 如何在所有用户桌面上放一个快捷方式或者文件?
- SAP ABAP/4学习---如何给写好的一个程序分配事务代码,用户可以直接通过事务码来访问程序.或者加入收藏夹(9)
- 如何定义一个数组,编程打印它的全排列
- 笔试题&面试题:输入一个维度,逆时针打印出一个指定的矩阵
- 老大要求把Word文档加上公司的标识,公司名文字或者logo图片都可以,但要求是用电脑打开(电子文档时)能看见标识,如果打印出来(纸质文档)就不显示出来,如何实现?
- OpenCV-用固定数据创建一个opencv矩阵,并输出
- C++或者C#中如何拿到一个窗口的标题
- C语言如何打印一个数组排列组合?
- 如何在程序异常或者崩溃时产生一个dump文件
- 如何判断一个app是原生app还是 webapp,或者是混合app
- opencv 矩阵与一个常数相乘的 两种实现方法
- OpenCv 如何对图像的像素进行操作(注意多通道图像在内存中的存储方式!!)
- opencv 矩阵与一个常数相乘的 两种实现方法