ZSO   -  Úloha è.1                                                                                                   Jiøí Filip
Zpracování signálù a obrazù
Úvod, vzorkování, jasové transformace


Úkol:
Napište program, který vykoná následující operace s obrazem

   1.Naète vstupní obraz z disku.
   2.Zmenšení rozlišení 800 x 600 na 200 x 150. øeèeno jinak, pøevzorkujte vstupní obraz s použitím vzorkovací frekvence f=fpùv/4.
   3.Zmenšený obrázek uloží na disk.
   4.Zmenšený obrázek opìt zvìtší na pùvodní úroveò.
   5.Takto zvìtšený obraz uloží na disk.

Cíl: co nejlepší vizuální kvalita takto zpracovaného obrazu. V prvotním pøiblížení se zamìøte na rychlé zpracování obrazu, posléze doplòte èást týkající se
       vzorkovacího teorému.



Vzorkování a aliasing

a) Dvoubarevný obrázek

 1. Pùvodní obrázek

2. Po porušení vzorkovací vìty (bereme jen každý 4.bod)     TIF

3. Po zvetšení na pùvodní velikost všech 16bodù (4x4) vyplníme stejným jasem  TIF



Výpis programu z MATLABu:
clear all;
muj=imread('poly.tif');
figure(1);
imshow(muj);
imwrite(muj,'poly.tif','tif');
pom=muj(1:4:end,1:4:end);
figure(2);
imshow(pom);
imwrite(pom,'poly_ko.tif','tif');
pom2=uint8(zeros(4*size(pom,1),4*size(pom,2)));

for i=1:4:(4*size(pom,1)-4)
   for j=1:4:(4*size(pom,2)-4)
        pom2(i:i+3,j:j+3)=pom((i-1)/4+1,(j-1)/4+1);
   end;
end;
figure(3);
imshow(pom2);
imwrite(pom2,'poly_ok.tif','tif');



 

Logické podmínky pøi indexování

Úkol:
Zpracujte logo CMP tak, aby pravá polovina obrazu byla celé èerná, èili aby zmizel šedý ètverec a bílá písmena "mp". Užiteèné funkce (kromì základních):
impixel, logical.

Požadovaný výsledek: Obraz získaný po zpracování výše uvedenými operacemi.



                                                                                                                                      TIF
                    

Výpis programu z MATLABu:
close all;
clear all;
obrazek=imread('cmplogo.tif');
figure(1);
subplot(1,2,1);
imshow(obrazek);
mazany=obrazek;
vyska_obrazku=size(mazany,1);
sirka_obrazku=size(mazany,2);
% je nutne kliknout na plochu, kterou chci vycernit
odstin=impixel(obrazek);
% ulozim si jen polovinu obrazku
pom = mazany(1:size(mazany,1),(size(mazany,2)/2):size(mazany,2));
for i=1:(size(odstin,1)-1)
   pom(pom == odstin(i,1)) = 0;
end
mazany(1:size(mazany,1),(size(mazany,2)/2):size(mazany,2)) = pom;
%mazany(mazany(1:size(mazany,1),(size(mazany,2)/2):size(mazany,2)) > 0 ) = 0;
subplot(1,2,2);
imshow(mazany);



Jasová transformace

Úkol:
Zlepšete kvalitu RGB obrazu zvýšením hodnoty jasu. Zachovejte co nejvìrnìji pùvodní barvy. Výsledek uložte ve formátu jpeg v maximální možné kvalitì. Užiteèné funkce (kromì základních): brighten, rgb2hsv, hsv2rgb

Požadovaný výsledek: Vylepšený obraz.



             Pùvodní obraz                                                                                             Zesvìtlený obraz  TIF

                            
Výpis programu z MATLABu:
clear all;
close all;
obrRGB=imread('omnidark.tif');
figure(1);
imshow(obrRGB);
obrHSV=rgb2hsv(obrRGB);
figure(2);
imshow(obrHSV);
for i=1:(size(obrHSV,1)-1)
   for j=1:(size(obrHSV,2)-1)
      if(obrHSV(i,j,3)~= 0)
         obrHSV(i,j,3) = obrHSV(i,j,3)*1.6+0.2;
      end
      if(obrHSV(i,j,3)>1)
         obrHSV(i,j,3)=0.95;
      end
   end
end
obrRGBnovy=hsv2rgb(obrHSV);
figure(4);
imshow(obrRGBnovy);



ZSO - úloha è.1                                                                                                                             10.12.1999  Jiøí Filip