Matlab:图像的1像素水平和垂直位移的协方差

时间:2014-01-20 23:44:17

标签: image matlab covariance grayscale

我有一个存储在矩阵Mat中的灰度图像,并被要求提取1像素水平和垂直位移的协方差。

我想过使用circshiftcov来提取协方差。

Mat = magic(5); % this represents my gray scale image
MatHs = circshift(Mat,[0 1]); % horizontal displacement
MatVs = circshift(Mat,[1 0]); % vertical displacement

covMatH = cov(Mat,MatHs)
covMatV = cov(Mat,MatVs)

然而,covMatH和covMatV的结果必须是1比1的大小,其中我的是2乘2。 我是否误用cov函数或者我没有正确理解这个问题,这个任务必须完全解决?

1 个答案:

答案 0 :(得分:2)

由于您的图片是二维的,因此您将收到covariance matrixlink)尺寸2*2。你已经明确地解决了找到协方差的任务,但2*2矩阵的每个元素代表一个不同的索引。可以说矩阵是[A B; C D]AD代表输入的差异。 BC代表输入之间的互协方差。