2. példa

Feladat

  • A stop_noise.png fájlban levő kép vörös csatornája "só és bors" zajjal terhelt. Olvasd be a képet, és távolítsd el a zajt egy erre alkalmas művelettel!

  • Hisztogram segítségével határozd meg azt, hogy hány db 100-as intenzitású pixel található a kapott kép vörös csatornáján! Ezt az értéket tedd egy külön változóba!

  • Alkalmas művelettel „töröld le” a "STOP" szót a tábláról a háttér eltüntetése nélkül, majd tedd rá a zh_mask.png képen levő "ZH" feliratot úgy, hogy 155-ös intenzitása legyen. (A törléshez használt művelet valamelyest „maszatolhat”, torzíthat a háttéren is, lásd a jobb alsó ábrát!) Jelenítsd meg az eredményt!

stop_noise.png zh_mask.png

 

A megoldás első része:

 

A megoldás második része:

 

Megoldás:

img = imread('stop_noise.tif');
img(:,:,1) = medfilt2(img(:,:,1), [5 5]);

[count, ~] = imhist(img(:,:,1));
P100 = count(101) % a legkisebb intenzitás nem 1, hanem 0!

se = strel('disk', 11);
img = imerode(img, se);
mask = imread('zh_mask.png');
combined = img;
for i=1:3
    combined(:,:,i) = img(:,:,i) .* mask + 155*(1-mask);
end

imshow(combined);