Opencv矩阵和图像操作(1)
转载自:http://whitebaby323.blog.163.com/blog/static/110427620112154627367/
表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
);
【50】
这些函数计算一个数组的绝对值或数组和其他对象的差值的绝对值,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
);
cvAdd()是一个简单的加法函数,它把src1里的所有元素同src2里的元素对应进行相加,然后把结果放到dst,如果mask没有被设为NULL,那么由mask中非零元素指定的dst元素值在函数执行后不变。cvAddS()与cvAdd()非常相似,惟一不同的是被加的数量标量value。
cvAddWeighted()函数同cvAdd()类似,但是被写入dst的结果是经过下面的公式得出的:【50】
最后
以上就是无奈盼望最近收集整理的关于Opencv矩阵和图像操作(1)的全部内容,更多相关Opencv矩阵和图像操作(1)内容请搜索靠谱客的其他文章。
- 本文分类:Opencv学习
- 浏览次数:130 次浏览
- 发布日期:2024-05-30 23:55:01
- 本文链接:https://www.kaopuke.com/article/k-p-k_13_u_7_o_26_f5_14__23__22_0.html
发表评论 取消回复