我有一个存储在矩阵Mat
中的灰度图像,并被要求提取1像素水平和垂直位移的协方差。
我想过使用circshift
和cov
来提取协方差。
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
函数或者我没有正确理解这个问题,这个任务必须完全解决?
答案 0 :(得分:2)
由于您的图片是二维的,因此您将收到covariance matrix
(link)尺寸2*2
。你已经明确地解决了找到协方差的任务,但2*2
矩阵的每个元素代表一个不同的索引。可以说矩阵是[A B; C D]
。 A
和D
代表输入的差异。 B
和C
代表输入之间的互协方差。