CvMat 矩阵的使用方法和简单程序

一:CvMat cvInitMatHeader( CvMat mat, int rows, int cols, int type,void* data=NULL, int step=CV_AUTOSTEP );
mat 指针指向要被初始化的矩阵头.

rows 矩阵的行数.

cols 矩阵的列数.

type 矩阵元素类型.

data 可选的,将指向数据指针分配给矩阵头.

step 排列后的数据的整个行宽。默认状态下。使用 STEP 的最小可能值。比如假定矩阵的行与行之间无隙

double a[] = { 1, 2, 3, 4

cvMatMulAdd( &Ma, &Mb, 0, &Mc );

cvReleaseMat(&Ma);

cvReleaseMat(&Mb);

cvReleaseMat(&Mc);

还有一种初始化矩阵:

double a[] = { 1, 2, 3, 4,

5, 6, 7, 8,

9, 10, 11, 12 };

CvMat Ma=cvMat(3, 4, CV_64FC1, a);

cvMat存储矩阵的方法

cvGetRealND();返回单通道数组的指定元素

double cvGetReal1D( const CvArr arr, int idx0 );
double cvGetReal2D( const CvArr
arr, int idx0, int idx1 );
double cvGetReal3D( const CvArr arr, int idx0, int idx1, int idx2 );
double cvGetRealND( const CvArr
arr, int* idx );
arr
输入数组,必须是单通道.

idx0
元素下标的第一个成员,以 0 为基准
idx1
元素下标的第二个成员。以 0 为基准
idx2
元素下标的第三个成员。以 0 为基准
idx
元素下标数组

返回特殊的数组元素

void cvSetReal1D( CvArr arr, int idx0, double value );
void cvSetReal2D( CvArr
arr, int idx0, int idx1, double value );
void cvSetReal3D( CvArr arr, int idx0, int idx1, int idx2, double value );
void cvSetRealND( CvArr
arr, int* idx, double value );
arr
输入数组.

idx0
元素下标的第一个成员。以 0 为基点
idx1
元素下标的第二个成员。以 0 为基点
idx2
元素下标的第三个成员,以 0 为基点
idx
元素下标数组
value
指派的值

cvGetND();//返回特殊的数组元素 多通道的
CvScalar cvGet1D( const CvArr arr, int idx0 );
CvScalar cvGet2D( const CvArr
arr, int idx0, int idx1 );
CvScalar cvGet3D( const CvArr arr, int idx0, int idx1, int idx2 );
CvScalar cvGetND( const CvArr
arr, int* idx );
arr
输入数组.

idx0
元素下标第一个以 0 为基准的成员
idx1
元素下标第二个以 0 为基准的成员
idx2
元素下标第三个以 0 为基准的成员
idx
元素下标数组

cvSetND();//改动指定的数组?多通道的

void cvSet1D( CvArr arr, int idx0, CvScalar value );
void cvSet2D( CvArr
arr, int idx0, int idx1, CvScalar value );
void cvSet3D( CvArr arr, int idx0, int idx1, int idx2, CvScalar value );
void cvSetND( CvArr
arr, int* idx, CvScalar value );
arr
输入数组
idx0
元素下标的第一个成员,以 0 为基点
idx1
元素下标的第二个成员,以 0 为基点
idx2
元素下标的第三个成员,以 0 为基点
idx
元素下标数组
value
指派的值

void cvmSet( CvMat* mat, int row, int col, double value );//设置单通道浮点矩阵的指定元素
mat
矩阵.

row
行下标,以 0 为基点.

col
列下标,以 0 为基点.

value
矩阵元素的新值

double cvmGet( const CvMat* mat, int row, int col );//返回单通道浮点矩阵指定元素
mat
输入矩阵.

row
行下标。以 0 为基点.

col
列下标,以 0 为基点

include “cv.h”

include “highgui.h”

include

Original: https://www.cnblogs.com/lcchuguo/p/5412262.html
Author: lcchuguo
Title: CvMat 矩阵的使用方法和简单程序

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/545832/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球