Сделать шаг оценки шага пространственной однородности

Мы хотим сделать алгоритмы

(average) Md=1/(N^2-K) ∑||(x,y)-S(x,y)||

где N - размер блока, S(x, y) - местоположение выбранного пикселя, ближайшего к пикселю в местоположении (x, y), а K - количество выбранных пикселей. Чем ниже значения µd и σ2 d, тем больше пространственная однородность решетки выборки.

За K=9Я пишу код Matlab для этого алгоритма. Я не нашел, что случилось с кодом

for i=2:1:a-1  
    for j=2:1:b-1
        S=blok(i-1:i+1;j-1:j+1);
        sum=sum+abs(blok(i,j)-S(i,j));
    end 
end
Md =double(sum/((a*b)-9));

1 ответ

Решение

Входной блок 16х16 блок =16х16 (фрагмент изображения)

я нашел S(x,y), делающий ядро ​​[1 1 1; 1 1 1; 1 1 1] свертка с блоком

for i=1:1:14
  for j=1:1:14

    for m=-1:1
        for n=-1:1
            S(i+1,j+1)=S(i+1,j+1)+kernel(m+2,n+2).*blok(i-m+1,j-m+1);
        end
    end
   % S=blok(i-1:i+1;j-1:j+1);

    total=total+abs(blok(i+1,j+1)-S(i+1,j+1));


   end 
 end

Кажется, это работает на данный момент, но я не уверен.

Другие вопросы по тегам