《学习OpenCV》打印矩阵

来源:互联网 发布:linux中的find命令 编辑:程序博客网 时间:2024/06/14 06:34

创建一个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
原创粉丝点击