background image

ROZMYWANIE

%I=imread('cameraman.tif');  % ten format jest bez rgb2gray

I= imread(

'G:\STUDIA\Matlab\1.jpg'

);  

%to tego potrzebne -> rgb2gray(I)

 

I=double(I)/255;

 
I=rgb2gray(I);     

% przekszta³ca obraz RGB do szarej mapy kolorów.

M=ones(10);
 

M=M/100;
C=conv2(I,M);      

% oblicza dwuwymiarowy splot macierzy I i M.   

 

figure;

imshow(C);
 

imwrite(C,

'G:\test.jpg'

,

'jpg'

);  

% zapisuje plik do jpg 

ROZMYWANIE Filter2

% rozmycie obrazka przez filter2

L=imread(

'cameraman.tif'

);

L=double(L)/255;

 

%tworzenie macierzy

h1 = [8 8];     
h2 = [8 8 8 8];

h3 = [1 1 1 1];
h4 = [-1 -1 -1 -1];  

% negatyw znormalizowany , gdy liczby ujemne

h5 = [-1 -1];
h6 = [-1];

h7 = [-1 1];         

% gradient w osi OX , gdzy liczby mieszane

h8 = [1 -1];         

% gradient w osi Oy , gdzy liczby mieszane

h9 = [-8 8];
h10 = [-1;1];        

% ; -> macierz w pionie

h11 = [-8;100];
h12 = [100;-100];

h13 = [-1 -1 -1 100]; 

% normalny obrazek, poniewaz 100 jest najwieksze i 

najwazniejsze

h14 = [-100 1];
h15 = [88 -89];

h16 = [88 87 86];
h17 = [-88 -88];

h18 = [-88 90];
 

% tak liczymy, gdy h > 0
 

L1=filter2(h1,L)/sum(sum(h1)); 
L2=filter2(h2,L)/sum(sum(h2));

L3=filter2(h3,L)/sum(sum(h3));
L16=filter2(h16,L)/sum(sum(h16));

 

% tak liczymy, gdy h < 0

 

L4=filter2(h4,L);

L4=mat2gray(L4); 
 

L5=filter2(h5,L);
L5=mat2gray(L5);

 
L6=filter2(h6,L);

L6=mat2gray(L6); 

background image

 
L7=filter2(h7,L);

L7=mat2gray(L7); 
 

L8=filter2(h8,L);
L8=mat2gray(L8);

 
L9=filter2(h9,L);

L9=mat2gray(L9); 
 

L10=filter2(h10,L);
L10=mat2gray(L10); 

 
L11=filter2(h11,L);

L11=mat2gray(L11); 
 

L12=filter2(h12,L);
L12=mat2gray(L12); 

 
L13=filter2(h13,L);

L13=mat2gray(L13);
 

 
L14=filter2(h14,L);

L14=mat2gray(L14); 
 

 
L15=filter2(h15,L);

L15=mat2gray(L15);
 

 
L17=filter2(h17,L);

L17=mat2gray(L17); 
 

 
L18=filter2(h18,L);

L18=mat2gray(L18); 
 

 
figure;

imshow([L1, L2, L3, L4, L5, L6; L7, L8, L9, L10, L11, L12; L13, L14, L15, L16, 
L17, L18]);

Film_filter2

L1 = imread(

'cameraman.tif'

);

L1 = double(L1)/255    
 

for

 i= -10:10        

    

    h=[10 i]  

% macierz [10 (-10 do 10)]

    

    L2=filter2(h,L1)
    L2=mat2gray(L2);

    
    imshow(L2)

background image

    pause(0.0001)

end

Normalizacja

I = imread(

'cameraman.tif'

);

J = imadjust(I,[0.5 1],[0 1]);   

%normalny zakres [0 1] [0 1] czarny bialy

 

figure,                 

% nowe okienko

imshow([I,J])           

% obrazek, obrazek po normalizacji

 

figure, imhist([I,J])   

% wyswietlanie histogramu

dwa_obrazki_nałożenie_zakodowane

L1 = imread(

'G:\STUDIA\Matlab\1.jpg'

);

L2 = imread(

'G:\STUDIA\Matlab\2.jpg'

);

 
L1=double(L1)/255;  

% konwersja

L2=double(L2)/255;
 

    L3 = (L1 * 0.5) + (L2 * 0.5); 

%obrazki nalozone na siebie po polowie, 

ukrywanie obrazka  (L1 * 0) + (L2 * 0.99)

    imshow(L3);

Odkodowanie

L1 = imread(

'cameraman.tif'

);

L3 = imread(

'C:\Matlab\babcia.tif'

);

 
L1=double(L1)/255;  

% konwersja

 

L3=double(L3)/255;

 
    L2 =(L3-L1*0.99)/0.01 ; 

    
    imshow(L2);

Zadania kolos I

1)

L=imread(

'cameraman.tif'

);

 

L_R = L; 
L_G = L; 

background image

L_B = L;
 

L_R(80:160, 80:200)= 0;
L_G(80:160, 80:200)= 256;

L_B(80:160, 80:200)= 0;
 

L2=cat(3, L_R, L_G, L_B); 

%cat powiekszenie tablic po przez doklejenie innych 

tablic

 

figure; imshow(L2)

2)

L_R=[1,0 ; 0,0.85 ; 1,1];

L_G=[0,0 ; 1,0.85 ; 1,0];
L_B=[0,1 ; 0,0.85 ; 1,0];

 
L1=cat(3,L_R,L_G,L_B);

 
figure;

 
L2=[1, 2; 3, 4; 5, 1];

L2MAP=[1, 0, 0 ; 0, 0, 1; 0, 1, 0; 0.85, 0.85, 0.85; 1, 1, 1];
 

subplot(1,2,1); imshow(L1)         

% subplot -pozwala na umieszczenie wiêcej ni¿ 

jednego wykresu w jednym oknie graficznym. (ilosc wierszy,kolumn,numer podokna)

subplot(1,2,2); imshow(L2, L2MAP)

3)

L1=imread(

'rice.png'

);

L2=[L1(129:256, 129:256), L1(129:256, 1:128); L1(1:128, 129:256), L1(1:128, 
1:128)];

 
figure;

subplot(1,2,1); imshow(L1);
subplot(1,2,2); imshow(L2)

background image

4)

L1=imread(

'onion.png'

);

 

L2=cat(3,L1(:,:,3), L1(:,:,1), L1(:,:,2));
 

figure;
subplot(1,2,1); imshow(L1, 

'notruesize'

)

subplot(1,2,2); imshow(L2, 

'notruesize'

)

Zadania kolos II

1)

L1=imread(

'cameraman.tif'

);

 

Ziel=L1;
Ziel(1:

2

:256,1:

2

:256)=255  

% zielony piksel co 2

 

 
S=cat(3,L1,Ziel,L1);

 
imshow(S)

2)

ryz=imread(

'rice.png'

);

 
A=ryz(1:128,1:128);

B=ryz(1:128,129:256);
C=ryz(129:256,1:128);

D=ryz(129:256,129:256);
B=255-B;   

%negatyw

 

Negatyw=[D B;C A];

 
imshow([ryz,Negatyw])

background image

3)

CAM=imread(

'cameraman.tif'

);

 
A=CAM(:,1:128);

B=CAM(:,129:256);
 

B=imresize(B,0.5);  

%zmiejsza obrazek 2 razy

B=imresize(B,2);    

%zwieksza o 2 razy obrazek 

new=[B,A];imshow(new);

Binaryzacja_film

L1=imread(

'cameraman.tif'

);

L1=double(L1)/255;

 
 

for

 i=0:0.01:1

     L2=L1<i;
     imshow(L2)

     title([

'pr binaryzacja'

,mat2str(i)])

     pause(0.01)

 

end

    

 

 

Binaryzacja

L1=imread(

'cameraman.tif'

);

L1=double(L1)/255;
 L2=L1<0.5;

 figure; imshow([L1,L2])

background image

Transformacje

L=imread(

'F:\STUDIA\MATLAB\misiu.JPG'

);

 

L1=L(1:490,1:200, 1:3);
L2=L(1:490,201:400, 1:3);

 
L3=L(1:490,400:-1:200, 1:3);

L4=L(1:490,200:-1:1, 1:3);
 

new = [L1,L4];
new2 = [L3,L2];

 
figure();

 
imshow([L,new,new2]);

%imwrite(new,'F:\STUDIA\MATLAB\test12.JPG','JPG');
%imwrite(new2,'F:\STUDIA\MATLAB\test13.JPG','JPG');

FILM_Długi

L1=imread(

'F:\STUDIA\MATLAB\snieg.bmp'

);

L2=imread(

'onion.png'

);

L111=imread(

'F:\STUDIA\MATLAB\1.JPG'

);

L222=imread(

'F:\STUDIA\MATLAB\2.JPG'

);

figure
D=[];

 

for

 i=1:50

    L22=L2;
    L1=[L1(end,:);L1(1:(end-1),:)];

    L11=double(cat(3,L1,L1,L1));
    L22(L11==0)=255;

    imshow(L22);
    D(1:size(L22,1),1:size(L22,2),1:3,i)=L22;

    pause(0.0001);
   

end

j=26;

 

for

 i=0:0.1:1

     

    L3 = (L111 * i) + [L2 * (1 - i)];
    imshow(L3)

   pause(0.01)
    D(1:size(L3,1),1:size(L3,2),1:3,j)=L3;

     j=j+1;
 

end

 

 

for

 i=0:0.1:1

     
    L33 = (L222 * i) + [L111 * (1 - i)];

    imshow(L33)
    pause(0.01)

    D(1:size(L33,1),1:size(L33,2),1:3,j)=L33;
    j=j+1;

 

end

 

background image

 

%mov=immovie(uint8(D));

 
%movie2avi(mov,'c:/test2236.avi','compression','Indeo5')

 

background image