1 互相关
1.1 xcorr
xcorr
: cross-correlation
r =xcorr
(x,y)
returns the cross-correlation of two discrete-time sequences, x and y.
就是信号系统中所学的所熟知discrete-time sequences 卷积的非翻转版本
,当然具体应用时牵涉到补0等细节性操作
1.2 xcorr2
xcorr2
:2-D cross-correlation
c = xconv
(a, b)
就是二维版本的xcorr
,计算思路与其一致,具体细节见matlab help
2 卷积
2.1 conv
conv
: Convolution and polynomial multiplication
c = conv
(a, b)
把a翻转180度, 乘, 累加
就是信号系统中所学习的卷积,即翻转180度, 再移动,乘,累加具体函数使用
2.2 conv2
conv2
: 2-D convolution
c =conv2
(a, b)
就是熟知的图像卷积. 翻转, 对应相乘, 累加,我们所熟知对于sobel算子, 均值滤波算子, 拉普拉斯算子等的应用.
3 相关
3.1 corr
corr
: Linear or rank correlation
RHO = corr
(X)
X: n-by-p matrix
RHO : p-by-p matrix
用来求矩阵X的相关系数矩阵, 注意是相关系数矩阵, 并非协方差矩阵,
但是若X标准化后, 求得的协方差矩阵(也就是对标准化后的数据用cov)等价于相关系数矩阵
a = magic(3);
corrMat = corr(a);
corvMat = cov( zscore(a) );%
zscore
是用来对数据集a进行标准化, 即使得数据集a的每一列方差为1, 均值为0
corrMat 是相关系数矩阵, corvMat 是协方差矩阵, 以上程序块中二者相等
RHO =corr
(X,Y)
与上面类似
X: n-by-p1 matrix
Y: n-by-p2 matrix
RHO : p1-by-p2 matrix
3.2 corr2
corr2
: 2-D correlation coefficient
r = corr2
(A,B)
A and B are matrices or vectors of the same size.
r is a scalar double.
注意
具体算法如下
3.3 normxcorr2
normxcorr2
: Normalized 2-D cross-correlation
C = normxcorr2
(template, imageA)
对imageA逐像素移动选取与template相同大小块计算corr2
归一化的互相关, 常用来进行template matching .
逐像素的进行对比,其本质是用cross-correlation 进行correlation coefficient的计算
3.4 corrcoef
corrcoef
:Correlation coefficients
R = corrcoef
(A)
返回矩阵A的相关系数矩阵
此结果与corr
(A),相同
R = corrcoef
(A, B)
将A, B分别转化为两个列向量,然后返回两个列向量的相关系数矩阵, 这点与corr
(A, B)不同
4 协方差
cov
: covariance
C = cov
(A)
用于计算A 的协方差
1 If A is a vector of observations, C is the scalar-valued variance.
2 If A is a matrix whose columns represent random variables and whose rows represent observations, C is the covariance matrix with the corresponding column variances along the diagonal.
注
协方差公式,来自matlab