Image Matlab:图像1像素水平和垂直位移的协方差
我有一个灰度图像存储在矩阵Image Matlab:图像1像素水平和垂直位移的协方差,image,matlab,covariance,grayscale,Image,Matlab,Covariance,Grayscale,我有一个灰度图像存储在矩阵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
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
函数,或者我没有正确理解问题,因此必须完全不同地解决此任务?由于您的图像是二维的,您将收到大小为2*2
的协方差矩阵。您肯定已经解决了查找协方差的任务,但是2*2
矩阵的每个元素表示不同的索引。假设矩阵是[ab;cd]
A和D将表示输入的方差B
和C
将表示输入之间的交叉协方差。谢谢,因此以使用covMatH(1,2)的B或C元素为例,答案是正确的!