表3-3列出了一些操作矩阵图像的函数,其中的大部分对于图像处理非常有效。它们实现了图像处理中的基本操作,例如对角化、矩阵变换以及一些更复杂的诸如计算图像的统计操作。
表3-3:矩阵和图像基本操作
|
函数名称 |
描述 |
|
cvAbs |
计算数组中所有元素的绝对值 |
|
cvAbsDiff |
计算两个数组差值的绝对值 |
续表
|
函数名称 |
描述 |
|
cvAbsDiffS |
计算数组和标量差值的绝对值 |
|
cvAdd |
两个数组的元素级的加运算 |
|
cvAddS |
一个数组和一个标量的 元素级的相加运算 |
|
cvAddWeighted |
两个数组的元素级的加权 相加运算(alpha融合) |
|
cvAvg |
计算数组中所有元素的平均值 |
|
cvAvgSdv |
计算数组中所有元素的 绝对值和标准差 |
|
cvCalcCovarMatrix |
计算一组n维空间向量的协方差 |
|
cvCmp |
对两个数组中的所有元 素运用设置的比较操作 |
|
cvCmpS |
对数组和标量运用设置的比较操作 |
|
cvConvertScale |
用可选的缩放值转换数组元素类型 |
|
cvConvertScaleAbs |
计算可选的缩放值的绝对值之 后再转换数组元素的类型 |
|
cvCopy |
把数组中的值复制到另一个数组中 |
|
cvCountNonZero |
计算数组中非0值的个数 |
|
cvCrossProduct |
计算两个三维向量的向量积(叉积) |
|
cvCvtColor |
将数组的通道从一个颜色空间 转换另外一个颜色空间 |
|
cvDet |
计算方阵的行列式 |
|
cvDiv |
用另外一个数组对一个数 组进行元素级的除法运算 |
|
cvDotProduct |
计算两个向量的点积 |
|
cvEigenVV |
计算方阵的特征值和特征向量 |
|
cvFlip |
围绕选定轴翻转 |
|
cvGEMM |
矩阵乘法 |
|
cvGetCol |
从一个数组的列中复制元素 |
|
cvGetCols |
从数据的相邻的多列中复制元素值 |
|
cvGetDiag |
复制数组中对角线上的所有元素 |
|
cvGetDims |
返回数组的维数 |
|
cvGetDimSize |
返回一个数组的所有维的大小 |
|
cvGetRow |
从一个数组的行中复制元素值 |
|
cvGetRows |
从一个数组的多个相邻的 行中复制元素值 |
|
cvGetSize |
得到二维的数组的尺寸, 以CvSize返回 |
|
cvGetSubRect |
从一个数组的子区域复制元素值 |
|
cvInRange |
检查一个数组的元素是否在 另外两个数组中的值的范围内 |
|
cvInRangeS |
检查一个数组的元素的值是 否在另外两个标量的范围内 |
续表
|
函数 名称 |
描述 |
|
cvInvert |
求矩阵的转置 |
|
cvMahalonobis |
计算两个向量间的马氏距离 |
|
cvMax |
在两个数组中进行元素级 的取最大值操作 |
|
cvMaxS |
在一个数组和一个标量中 进行元素级的取最大值操作 |
|
cvMerge |
把几个单通道图像合并为 一个多通道图像 |
|
cvMin |
在两个数组中进行元素级 的取最小值操作 |
|
cvMinS |
在一个数组和一个标量中 进行元素级的取最小值操作 |
|
cvMinMaxLoc |
寻找数组中的最大最小值 |
|
cvMul |
计算两个数组的元素级的乘积 |
|
cvNot |
按位对数组中的每一个元素求反 |
|
cvNorm |
计算两个数组的正态相关性 |
|
cvNormalize |
将数组中元素进行规一化 |
|
cvOr |
对两个数组进行按位或操作 |
|
cvOrS |
在数组与标量之间进行按位或操作 |
|
cvReduce |
通过给定的操作符将二维 数组约简为向量 |
|
cvRepeat |
以平铺的方式进行数组复制 |
|
cvSet |
用给定值初始化数组 |
|
cvSetZero |
将数组中所有元素初始化为0 |
|
cvSetIdentity |
将数组中对角线上的元素 设为1,其他置0 |
|
cvSolve |
求出线性方程组的解 |
|
cvSplit |
将多通道所组分割成 多个单通道数组 |
|
cvSub |
两个数组元素级的相减 |
|
cvSubS |
元素级的从数组中减去标量 |
|
cvSubRS |
元素级的从标量中减去数组 |
|
cvSum |
对数组中的所有元素求和 |
|
cvSVD |
二维矩阵的奇异值分解 |
|
cvSVBkSb |
奇异值回代计算 |
|
cvTrace |
计算矩阵迹 |
|
cvTranspose |
矩阵的转置运算 |
|
cvXor |
对两个数组进行按位异或操作 |
|
cvXorS |
在数组和标量之间进行 按位异或操作 |
|
cvZero |
将所有数组中的元素置为0 |
cvAbs,cvAbsDiff和cvAbsDiffS
void cvAbs(
const CvArr* src,
const dst
);
void cvAbsDiff(
const CvArr* src1,
const CvArr* src2,
const dst
);
void cvAbsDiffS(
const CvArr* src,
CvScalar value,
const dst
);
这些函数计算一个数组的绝对值或数组和其他对象的差值的绝对值,cvAbs()函数计算src里的值的绝对值,然后把结果写到dst;cvAbsDiff()函数会先从src1减去src2,然后将所得差的绝对值写到dst;除了从所有src元素减掉的数是常标量值外,可以看到cvAbsDiffS()函数同cvAbsDiff()函数基本相同。
cvAdd, cvAddS, cvAddWeighted和alpha融合
void cvAdd(
const CvArr* src1,
const CvArr* src2,
CvArr* dst,
const CvArr* mask = NULL
);
void cvAddS(
const CvArr* src,
CvScalar value,
CvArr* dst,
const CvArr* mask = NULL
);
void cvAddWeighted(
const CvArr* src1,
double alpha,
const CvArr* src2,
double beta,
double gamma,
CvArr* dst
);
本文详细介绍了矩阵图像处理中的基本操作,包括计算绝对值、差的绝对值、矩阵加法与相乘等,并展示了这些操作在图像处理中的实际应用。
5255

被折叠的 条评论
为什么被折叠?



