Jak uzyskać trzy efekty z poniższego filmu? Kolejny mini-kurs :)

Efekt 1:

L1=imread('cameraman.tif');
L2=cat(3,L1,L1,L1);
L2(129:end, 129:end, 1) = 0;
L2(129:end, 129:end, 2) = 200;
L2(129:end, 129:end, 3) = 0;
for i=1:200000
L2(129:end, 1:128,:) = [L2(end,1:128,:);L2(129:(end-1),1:128,:)];
imshow(L2)
pause(0.001)
end

W efekcie #1 wczytujemy obraz, następnie łączymy go w trzy macierze (warstwy), aby można było operować na RGB. Ustawiamy kolor zielony (200). W pętli dajemy efekt przewijania jednego z rogów.

Efekt 2:

L1=imread('cameraman.tif');
L2=cat(3,L1,L1,L1);
for i=1:256
L2(i, :, 1) = i;
imshow(L2)
end

for i=1:256
L2(end-i+1, :, 2) = i;
imshow(L2)
end

for i=1:256
L2(i, :, 3) = i;
imshow(L2)
end

Efekt #2 pokazuje kolorowanie obrazka linia po linii przejściem tonalnym. Widać tutaj podział na trzy części - pętle. Pierwsza odpowiada za kolor czerwony i kolorowanie następuje z góry, druga za kolor zielony i kolorowanie od dołu. Ostatnia pętla to znów kolorowanie z góry i kolor niebieski. Wszystkie kolory od 1-256.

Efekt 3:

L1=imread('cameraman.tif');
L2=cat(3,L1,L1,L1);
for i=1:256
L2(L2(:,:,1)<=i)=120;
L2(L2(:,:,2)<=i)=230;
L2(L2(:,:,3)<=i)=0;
imshow(L2)
end

Efekt #3 to koloryzacja całego obrazka od koloru czarnego po biały. Efekt jest bardzo przyjemny :)

Pozostaw odpowiedź

(c) 2007 by Michał Terbert