rxalgorithm.m

来自「可以直接用」· M 代码 · 共 30 行

M
30 行
字号
function RxValue=RXAlgorithm(HyperCube)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%RX algorithm
%parameter:
%      HyperCube 输入cube
%      RxValue rx算法得出的值,类型为double
%reference:
%      使用的为全局均值与协方差
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% HyperCube = ImageInput(0);
gray=double(HyperCube);

[m,n,l]=size(gray);
grayVector=reshape(gray,m*n,l);%row:m*n,columm:l
xMat=grayVector';%row:l,columm:m*n

Mean=mean(grayVector);

M=repmat(Mean',1,m*n);%l X mn
u=(xMat-M)*(xMat-M)'/(m*n-1);%样本协方差阵
uInverse=inv(u);%!!
for i=1:m*n
   x=xMat(:,i);
   rxVector(i)=(x-Mean')'*uInverse*(x-Mean');
end
rx=reshape(rxVector,m,n);
RxValue=double(rx);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?