SMQT Matlab代码(逐次平均量化变换)

SMQT Matlab代码(逐次平均量化变换),matlab,Matlab,我在MATLAB中有一个smqt的问题,有smqt函数的源代码吗?我想定制此功能以便更好地使用。最后 function M = SMQT(V, l, L) if l>L M = zeros(size(V), 'like', V); return; end meanV = nanmean(V(:)); D0 = V; D1 = V; if not(isnan(meanV)) D0(D0 > meanV) = NaN; D1(D1 <= mean

我在MATLAB中有一个smqt的问题,有smqt函数的源代码吗?我想定制此功能以便更好地使用。

最后

function M = SMQT(V, l, L)
if l>L 
    M = zeros(size(V), 'like', V);
    return;
end
meanV = nanmean(V(:));
D0 = V;
D1 = V;
if not(isnan(meanV)) 
    D0(D0 > meanV) = NaN;
    D1(D1 <= meanV) = NaN;
end
M = not(isnan(D1)) * (2^(L-l));
if l==L 
    return;
end
M0 = SMQT(D0, l+1, L);
M1 = SMQT(D1, l+1, L);
M = M + M0 + M1;
end

您将如何使用此功能?您没有对您定义的
SMQT(V,l,l)
进行任何引用。
lena = imread('c:\matlab\lena_gray_256.tif');
M = uint8(SMQT(double(lena),1,8));
imshow(M);