opencv CvMat矩阵结构
2015-06-19 15:07
375 查看
用于新建一个二维矩阵的例程:
cvMat* cvCreateMat(int rows, int cols, int type);
type预定义类型:CV_<bit_depth>(S|U|F)C<number_of_channels> 例:32位浮点型数据(CV_32FC1)、无符号的8位三元组的整型数据(CV_8UC3)
矩阵的创建和释放
//Create a new rows by cols matrix of type 'type'
//
CvMat* cvCreateMat(int rows, int cols, int type);
//Create only matrix header without allocating data
//
CvMat* cvCreateMatHeader(int rows, int cols, int type);
//Initialize header on existing CvMat structure
//
CvMat* cvInitMatHeader(CvMat* mat, int rows, int cols, int type, void* data=NULL, int step=CV_AUTOSTEP);
//Like cvInitMatHeader() but allocate CvMat as well
//
CvMat cvMat(int rows, int cols, int type, vodi* data=NULL);
//Allocate a new matrix just like the matrix 'mat'
//
CvMat* cvCloneMat(const cvMat* mat);
//Free the matrix 'mat', both header and data
//
void cvReleaseMat(CVMat **mat);
用固定函数创建一个OpenCV矩阵
cvMat* cvCreateMat(int rows, int cols, int type);
type预定义类型:CV_<bit_depth>(S|U|F)C<number_of_channels> 例:32位浮点型数据(CV_32FC1)、无符号的8位三元组的整型数据(CV_8UC3)
矩阵的创建和释放
//Create a new rows by cols matrix of type 'type'
//
CvMat* cvCreateMat(int rows, int cols, int type);
//Create only matrix header without allocating data
//
CvMat* cvCreateMatHeader(int rows, int cols, int type);
//Initialize header on existing CvMat structure
//
CvMat* cvInitMatHeader(CvMat* mat, int rows, int cols, int type, void* data=NULL, int step=CV_AUTOSTEP);
//Like cvInitMatHeader() but allocate CvMat as well
//
CvMat cvMat(int rows, int cols, int type, vodi* data=NULL);
//Allocate a new matrix just like the matrix 'mat'
//
CvMat* cvCloneMat(const cvMat* mat);
//Free the matrix 'mat', both header and data
//
void cvReleaseMat(CVMat **mat);
用固定函数创建一个OpenCV矩阵
#include <cv.h>
#include <highgui.h>
void createMat(void) { //Create an opencv matrix containing some fixed data // float vals[] = {0.866025, -0.500000, 0.500000, 0.866025}; CvMat rotmat; cvInitMatHeader(&rotmat, 2, 2, CV_32FC1, vals); for (int i=0; i<rotmat.width; i++) { for (int j=0; j<rotmat.height; j++) { CvScalar scalar=cvGet2D(&rotmat, j, i); cout<<scalar.val[0]<<" "; } cout<<endl; } }
相关文章推荐
- SGU145 Strange People
- linux下压缩解压指令tar----------看完瞬间记住参数用法,从此不用再查
- 同一个tomcat不同项目的session共享问题
- org.apache.commons.fileupload.FileUploadBase$InvalidContentTypeException:
- Linux 编辑器
- 更改navigationController push和pop界面切换动画
- opencv avi视频播放带进度条
- git服务器在linux搭建在window下提交
- 使用API进行发运确认并运行Interface Trip Stop
- Tomcat7安装配置 for Ubuntu
- RHEL7.0修改SSH默认端口及SELinux运行状态修改
- eclipse juno与tomcat7配置使用心得
- hybris Developer Part 1
- opencv 基本数据类型 cvPoint cvSize cvScalar cvRect
- hybris Commerce Developer Part 1
- Bash 快捷键大全
- wireshark抓包分析--测试网站登录
- nginx 502 日志 . recv() failed (104: Connection reset by peer)报错
- dce的异常和handle SIGUSR1 nostop
- VS2008中编译和使用OpenSSL