Trochu jsem tady trenoval neco s matlabem a tady je vysledek. Postup je nasledujici
=>
1) nactem obrazek a prevedu ho do grayscale:
I = double(rgb2gray(imread('0017.bmp')))/255;
2) udelame ekvivalizaci histogramu
I = histeq(I);
3) pres fft2 udelame dolni propust (propustime jen kruh s polomerem 0.25 * min([vyska obrazku, sirka obrazku]}.
mam k tomu napsanou funkci mylowpass.m ale je desne pomala, proto musim obrazek zmensit.
F = mylowpass(I, 0.25);
4) prevod na cernobily obrazek. jako prah pouziju na tvrdaka median
M = median(median(F));
Bw = F > M;
5) a ted musime nejak zacelit ty mezery, co tam jsou, proto to nejdriv zeroduju:
Bw = imerode(Bw, strel('disk', 5));
6) ted odstranime maly bily mista filtrem
K = ones(5); K(3,3) = 0;
Bw = imfilter(Bw, K);
7) no a ted se mi zas nelibi jak je to hranaty, tak to pro jistotu zdilatuju:
Bw = imdilate(Bw, strel('disk', 3));