function samplingMask = createSamplingMask(im, rate, type) %CREATESAMPLINGMASK Funkcja tworzy maskę próbkującą % % im - obraz z którego za pomoca trnasformaty Fouriera jest wyznaczana % funckja gęstości prawdopodobieństwa, dzięki której wyznaczona % zostanie adaptacyjna maska próbkujaca, wymiar podanego obrazu % jest także wymiarem tworzonej maski % % rate - stosunek pikseli obrazu wejściowego do niezerowych pikseli maski % % type - typ maski wedlug legendy: % 'a' - losowa o rozkładzie jednostajnym % 'b' - poziome linie z rozkładu normalnego % 'c' - pionowe linie z rozkładu normalnego % 'd' - krzyżujące się linie % 'e' - koło z rozkładu jednostajnego % 'f' - koło z rozkładu jednostajnego z kołem w środku % 'g' - koło z rozkładu normalnego % 'h' - adaptacyjna - wyznaczona losowo na podstawie transformaty % Fouriera image=imadjust(im2double(im)); %tworzenie maski - wybrane punkty otrzymuja wartość 1, niewybrane pozostają %zerami [M, N]=size(im); samplingMask=zeros(size(image)); R=numel(samplingMask)/rate; %liczba probek counter=0; %wskaznik liczby wybranych probek switch type case 'a' R=(M*N)/rate; counter=0; while counter