《学习OpenCV》打印矩阵

创建一个10行*10列的矩阵,矩阵元素为三通道。最后将此矩阵的元素打印出来,加强对OpenCV矩阵、指针的理解。

#include "cv.h"
#include "stdio.h"

int main()
{
	/*用cvCreateMat函数建立一个CvMat格式、10行*10列、3通道8位signed型的矩阵mat,返回一个指向CvMat结构体的指针*/
	CvMat* mat = cvCreateMat( 10, 10, CV_8UC3 );	
	cvZero(mat);	

	/*定义一个uchar型的指针ptr,指向矩阵mat[0][0],即矩阵mat的首地址*/
	uchar* ptr = cvPtr2D( mat, 0, 0 );										
	int x = 0;
	int y = 0;

	for( y=0; y<10; y++ )													//行循环
	{
		ptr = cvPtr2D( mat, 0, y );											//将指针ptr定位至第y行的第0个元素处,即指向每一行的首地址
		for( x=0; x<10; x++)												//列循环
		{			
			printf( " [%d,%d,%d] ", ptr[3*x+0], ptr[3*x+1], ptr[3*x+2] );	//循环输出矩阵元素mat[x][y]的三个值(因为设置为三通道)
		}
		printf( "\n" );														//每输出完一行换行
	}

	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值