首页 > 代码库 > OpenCV —— 矩阵和图像操作
OpenCV —— 矩阵和图像操作
cvAbs , cvAbsDiff , cvAbsDiffS
cvAdd , cvAddS , cvAddWeighted(可添加权重)
#include <cv.h>#include <highgui.h>int main(int argc,char** argv){ IplImage *s1,*s2; s1=cvLoadImage("wukong.jpg",CV_LOAD_IMAGE_COLOR); s2=cvLoadImage("test.jpg",CV_LOAD_IMAGE_COLOR); CvRect rect=cvRect(50,50,100,100); cvSetImageROI(s1,rect); cvSetImageROI(s2,rect); cvAddWeighted(s1,0.3,s2,0.7,10,s1); cvResetImageROI(s1); cvNamedWindow("w1"); cvShowImage("w1",s1); cvWaitKey(); return 0;}
cvAvg —— 数组平均值
cvAvgSdv —— 计算像素的标准差
cvCalcCovarMatrix —— 假定这些向量表示的点是高斯分布,计算这些点的均值和协方差矩阵 !! PCA
cvCmp , cvCmpS —— 智能应用于单通道的图像
cvConvertScale —— 将源图像的数据类型转变成目标图像的数据类型;或者,对图像数据执行线性变换(scale shift)
cvConvertScaleAbs —— 先缩放和平移,然后计算出绝对值,最后进行数据类型的转换
cvCopy
cvCountNonZero
cvCrossProduct —— src1和src2都必须是单道数组
cvCvtColor
cvDet —— 计算方阵的行列式,单通道 (若已知矩阵对称正定,可通过奇异值分解的策略来解决)
cvDiv —— src2 除以 src1 中对应的元素,最终的结果存到dst中
cvDotProduct —— 点积,单通道
cvEigenVV —— 计算矩阵的特征值和相应的特征向量 (若已知矩阵对称正定,最好通过奇异值分解的策略来解决) ,小于10*10
cvFlip —— 将图像绕X或Y轴旋转
cvGEMM —— 广义矩阵乘法
cvGetCol cvGetCols —— 提取矩阵中的某一列,以向量的形式返回
cvGetDiag —— 从矩阵中选择某一条对角线并将其作为向量返回
cvGetDims cvGetDimSize —— 对于矩阵和图像,由cvGetDims 返回的sizes的次序总是先是行数然后是列数
cvGetRow cvGetRows
cvGetSubRect —— 与其他选择数组子区域的函数一样,仅仅返回一个被函数填充的头(指向期望子矩阵数据),不涉及内存的分配和数据的复制
cvInRange cvInRangeS —— 检查图像中像素的灰度是否属于某一指定的范围 (src可以是任意类型,若是多通道,每个通道都分别处理)
cvInvert —— 矩阵的逆 CV_LU CV_SVD CV_SVD_SYM
cvMahalonobis —— Mahalonobis 距离(一点和高斯分布中心之间的向量距离)
cvMax cvMaxS
cvMerge —— cvSplit 的逆运算,4个数组将被合并到数组dst中
cvMin cvMinS
cvMinMaxLoc —— 找出数组arr中的最大值和最小值,返回他们的地址
cvMul —— 简单乘法,对应元素相乘 —— 元素之间的乘法(vs cvGEMM矩阵乘法)
cvNot
cvNorm —— 范数,相对距离
cvNormalize
cvOr cvOrS
cvReduce —— 对输入的矩阵的每一行或每一列进行系统的转换,使之成为向量dst
cvRepeat —— 将src的内容复制到dst,重复多次,直到dst没有多余的空间
cvScale == cvConvertScale
cvSet cvSetZero
cvSetIdentity —— 除了行数与列数相等以外的所有元素的值都设置为0,行数与列数相等的元素值都设置为1
cvSolve —— 求解线性方程组 (可用来解决超定的线性方程组,使用SVD方法找到的方程组的最小二乘解)
cvSplit —— 分别复制每个通道到多个单通道图像
cvSub cvSubS cvSubRS
cvSum
cvSVD —— 奇异值分解
cvTrace —— 矩阵的迹是对角线元素的总和,输入的数组不需要是方阵
cvTranspose cvT —— 矩阵转置,不支持多通道数组
cvXor cvXorS
cvZero
cvLine 绘制直线
cvRectangle
cvCircle cvEllipse cvEllipseBox(椭圆的外接矩形)
cvFillPoly cvFillConvexPoly cvPolyLine —— 多边形
cvPutTex —— 图像上输出文本