POLITECHNIKA SZCZECIŃSKA
WYDZIAŁ INFORMATYKI
ZARZĄDZANIE I INŻUNIERIA PRODUKCJI
LABORATORIUM 2
Wykonał:
xxx
Zip-20
Na naszych drugich laboratoriach mieliśmy w planie zająć się następującymi zadaniami:
funkcja, która dodaje do wartości opisujących każdy piksel podana wartość (tę samą wartość do każdej składowej)
funkcja , która do każdej składowej obrazka dodaje inną wartość
funkcji, która od 255 odejmuje wartości każdego piksela.
skrypt wykonujący sumowanie n obrazów według wzoru:
O'= (O1/W1) + (O2/W2) + … + (On/Wn)
funkcję, która zamienia obraz kolorowy na obraz w odcieniach szarości wg wzoru na Y z modelu YUV:
Y=0,299R + 0,587G + 0,144B
Niestety znowu niebyło licencji więc musieliśmy zająć się tymi zadaniami w „domu”.
Oto obrazki które wybrałem do wykonania zadani:
ZADANIE 1.
Obrazek wynikowy.
Do wartości opisujących każdy piksel dodałem liczę 100. Jak widac obrazek został rozjaśniony.
ZADANIE 2
Obrazki wynikowe:
RED GREEN BLUE
Do każdej składowej obrazka dodałem inne wartości:
RED : 30
GREEN : 100
BLUE : 55
ZADANIE 3 ZADANIE 4 ZADANIE 5
Obrazek wynikowy:
Obrazek wynikowy:
Obrazek wynikowy:
KODY:
Zadanie 1
obrazek=imread('I:\GI\s1.jpg');
obrazek= double(obrazek);
obrazek=obrazek+100;
obrazek= uint8(obrazek);
image(obrazek)
Zadanie 2
obrazek=imread('I:\GI\s1.jpg');
obrazek=double(obrazek);
r=obrazek (:,:,1);
g=obrazek (:,:,2);
b=obrazek (:,:,3);
r=r+30;
g=g+100;
b=b+55;
obrazek (:,:,1)=r;
obrazek (:,:,2)=g;
obrazek (:,:,3)=b;
obr=uint8(obrazek);
image(obrazek);
Zadanie 3
obrazek=imread('I:\GI\s1.jpg');
obrazek=double(obrazek);
obrazek=255-obrazek;
obrazek=uint8(obrazek);
image(obrazek);
Zadanie 4
x=imread ('I:\GI\s1.jpg');
y=imread ('I:\GI\s2.jpg');
x= double(x);
y= double(y);
n1= size (x,1);
n2= size (y,1);
m1= size (x,2);
m2= size (y,2);
t1= [n1,n2];
t2= [m1,m2];
n=min (t1);
m=min (t2);
x=x(1:n,1:m,:);
x=y(1:n,1:m,:);
obrazek= (x*0.5+y*0.5);
obrazek= uint8(obrazek);
image(obrazek);
Zadanie 5
obrazek=imread('I:\GI\s1.jpg');
obrazek=double(obrazek);
r=obrazek (:,:,1);
g=obrazek (:,:,2);
b=obrazek (:,:,3);
obrazek=0.299*r+0.587*g+0.144*b;
colormap(gray(256));
obr=uint8(obrazek);
image(obrazek);
WNIOSKI:
Te zadania były znacznie ciekawsze od poprzednich. Najbardziej podobały mi się wyniki z zadani 3 i 4. W bardzo łatwy sposób otrzymałem coś co w innych programach do obróbki grafiki by mi trochę czasu zajęło. Nauczyłem się jak otrzymać negatyw (zadanie 3) oraz jak łączyć obrazki (zadanie 4) i nie ukrywam, że te obrazki najbardziej mi się podobają. Najmniej ciekawe było zadanie 2 ale najbardziej mnie zdziwiło ponieważ otrzymałem dwa (jak dla mnie) identyczne obrazki.
Wyniku z zadania 5 można się było spodziewać ponieważ już pracowaliśmy z modelem barw YUV.
Tym razem uparłem się że wszystko sam napisze i jak to często bywa nie zawsze się udawało. Na moje szczęście zawsze był ktoś do kogo mogłem napisać: „dlaczego mi to znowu nie działa?” i po kilku wieczorach (nie do końca samodzielnie) zrobiłem to oto sprawozdanie.