Untitled

 avatar
unknown
plain_text
2 years ago
999 B
6
Indexable
% MŻ
function [out,psnr_] = fmed(img,imgRef,MASK)
    [x,y,z] = size(img);
    img = double(img);

    mMask = zeros(size(MASK),"double");
    [xmask, ymask] = size(mMask);
    xprzes = floor(xmask/2)*2;
    yprzes = floor(ymask/2)*2;

    for i = xprzes:x-1       % PORUSZANIE PO OBRAZIE
        for j = yprzes:y-1   %
                        
           for m = 1:xmask      % Wyliczanie maski
               for n = 1:ymask  %
                   if n == 1 && m == 1
                        med = [img(i-xprzes+m,j-yprzes+n,:)];
                   else
                        med = [med, img(i-xprzes+m,j-yprzes+n,:)];
                   end
               end
           end
           % Obliczenie pixela
           out(i-xprzes+1,j-yprzes+1,:) = median(med);
        end
    end

    out = uint8(out);
    [x,y,z] = size(out);
    psnr_ = psnr(out,imgRef(1:x,1:y,1:z));
    imshow([imgRef(250:400,250:400,:),out(250:400,250:400,:),img(250:400,250:400,:)])

end
Editor is loading...