Zaprezentowano koncepcję badania sygnałów akustycznych stanów przedawaryjnych silnika synchronicznego



Pobieranie 364,08 Kb.
Data27.06.2018
Rozmiar364,08 Kb.

Laboratorium 4

1. Regionalne przekształcenia obrazu

W procesie przetwarzania obrazu niejednokrotnie trzeba dokonać obróbki wybranych fragmentów obrazu. Dotyczy to przede wszystkim poprawy jakości wybranego fragmentu obrazu.


2. Operacje arytmetyczne

Do podstawowych operacji arytmetycznych najczęściej wykonywanych na dwóch obrazach zaliczymy dodawanie realizowane w trzech różnych formach:




2.1. Dodawanie i odejmowanie dwóch obrazów

W Matlabie dodawanie i odejmowanie dwóch obrazów wykonuje się przez dodawanie lub odejmowanie stopnia szarości lub nasycenia barw odpowiadających sobie punktów na dwóch obrazach binarnych, monochromatycznych i kolorowych.


Przykład 1

Dodawanie dwóch obrazów monochromatycznych.

[L1a, map1a]=imread('wieza.tif');

L1a=double(ind2gray(L1a, map1a))/255;

L1a=L1a(273:512,1:320);

figure, imshow(L1a);

[L1b, map1b]=imread('krajobraz1.tif');

L1b=double(ind2gray(L1b, map1b))/255;

figure, imshow(L1b);

L2a=L1a+L1b;

figure; imshow(mat2gray(L2a)) % suma modulo
Przykład 2

Odejmowanie dwóch obrazów monochromatycznych przy zastosowaniu funkcji imabsdiff().

[L1a, map1a]=imread('wieza.tif');

L1a=ind2gray(L1a, map1a);

L1a=L1a(273:512,1:320);

figure, imshow(L1a);

[L1b, map1b]=imread('krajobraz1.tif');

L1b=ind2gray(L1b, map1b);

figure, imshow(L1b);

L2a=imabsdiff(L1a, L1b);

figure, imshow(L2a);
Funkcja imabsdiff() odejmuje dwa obrazy, a z powstałego wyniku jest brana wartość bezwzględna. Odjęcie dwóch obrazów jest podstawowym sposobem wykrycia zmian na obrazach w procesie automatycznego zabezpieczania obiektów (obrazy otrzymane co pewien czas z kamery śledzącej nie powinny się różnić między sobą). Operacja odejmowania może pomóc przykładowo
w rozróżnieniu dzieła oryginalnego od jego kopii. Odejmowanie ma też istotne znaczenie dla polepszenia jakości obrazów, na przykład przy usuwaniu stałego błędu w obrazach archiwizowanych za pomocą kamery.
3. Mnożenie i dzielenie obrazów

Mnożenie i dzielenie obrazów są to narzędzia stosowane do polepszenia jakości obrazu. Poniżej jest pokazany przykład powiększania kontrastu.


Przykład 3

Poprawienie kontrastu obrazu


[L1a, map1a]=imread('wieza.tif');

L1=ind2gray(L1a, map1a);

figure, imshow(L1, [ ]);

L2a=double(L1).^2;

figure, imshow(L2a, [ ]);
4. Liniowa kombinacja i nakładanie obrazów na siebie

Często w praktyce zachodzi potrzeba „nałożenia” jednego obrazu na drugi. Na przykład mając obraz domu, należy „posadzić” przed nim drzewa. W zależności od tego, w jaki sposób będzie zrealizowana ta procedura, wyróżnia się:



  • liniową kombinację w przypadku, gdy w wynikowym obrazie mają być widoczne oba składowe obrazy wejściowe,

  • nakładanie obrazów na siebie w przypadku, gdy obraz nakładany ma „przysłaniać” obraz pierwotny.

Liniowa kombinacja dwóch obrazów (mieszania obrazów) to specjalny sposób dodawania dwóch lub większej liczby obrazów. Poziom szarości każdego punktu obrazu wynikowego tworzy się jako sumę wagową poziomów szarości mieszanych obrazów źródłowych. Proces mieszania obrazów jest użyteczny przy tworzeniu przejść między dwoma obrazami na zasadzie stopniowego zaniku jednego obrazu i pojawiania się drugiego.
Przykład 4

Liniowe mieszanie (dodawanie wagowe) dwóch obrazów

[L1a, map1a]=imread('wieza.tif');

L1a=double(ind2gray(L1a, map1a))/255;

L1a=L1a(273:512, 1:320);

[L1b, map1b]=imread('krajobraz1.tif');

L1b=double(ind2gray(L1b, map1b))/255;

figure,


for i=0:0.1:1

L2=double(L1a)*i+double(L1b)*(1-i);

imshow(L2);

title(['L1a', mat2str(i*100), '%', '+ L1b', mat2str((1-i)*100), '%'])

pause

end


%nacisnąć ENTER kilka razy
5. Ekstremum z dwóch obrazów

Szukanie ekstremum(minimum lub maksimum) z dwóch obrazów realizuje się z wykorzystaniem funkcji min(), max()


Przykład 5

Wyznaczanie maksimum z dwóch obrazów:

[L1a, map1a]=imread('wieza.tif');

L1a=ind2gray(L1a,map1a);

[L1b, map1b]=imread('krajobraz1.tif');

L1b=ind2gray(L1b,map1b);

minimum=min([min(min(L1a)), min(min(L1b))])

maksimum=max([max(max(L1a)), max(max(L1b))])



Zadania
Zad 1

Dodać dwa obrazy monochromatyczne z wagą 30% 'wieza.tif' oraz 70% 'krajobraz1.tif'. Do tego celu zastosować funkcję imlincomb().


Zad 2

Dodaj wartość 80 do obrazu 'naped.tif'. Do tego celu użyj funkcji imadd().


Zad 3

Dodaj dwa monochromatyczne obrazy 'wieza.tif' i 'krajobraz1.tif'. Do tego celu użyj funkcji imadd().


Zad 4

Odejmij dwa obrazy monochromatyczne 'wieza.tif' od 'krajobraz1.tif' oraz 'krajobraz1.tif' od 'wieza.tif' - zaobserwuj różnice. Do tego celu użyj funkcji imsubtract().


Zad 5

Pomnożyć monochromatyczny obraz 'krajobraz1.tif' przez 2 za pomocą funkcji immultiply().


Zad 6

Przemnożyć obraz 'komorki.tif' przez samego siebie. Otrzymany obraz jeszcze raz przemnożyć przez siebie. Nie zapomnieć o powiększeniu rozmiarów obrazu. Użyć do tego celu funkcji immultiply(), uint16(), uint32(). Zaobserwować różnice między obrazami.


Zad 7

Funkcja imdivide() programu Matlaba jest przeznaczona do dzielenia obrazu przez stałą lub dzielenia obrazu przez obraz. Podzielić monochromatyczny obraz 'wieza.tif' przez monochromatyczny obraz 'krajobraz1.tif'.


Zad 8

Wyznaczyć maksimum z dwóch obrazów dla każdego z pikseli osobno (chodzi o to aby na rysunkach wyświetlić jaśniejszy piksel w przypadku maksimum). Następnie piksele wyświetlić w postaci obrazu maksimum i minimum. W badaniach wyciąć obraz wieża np. (273:512, 1:320).



a) b)

Rys.1. Wynik działania programu, a) Obraz maksimum obliczonego dla każdego z pikseli, b) Obraz minimum obliczonego dla każdego z pikseli.



Zad 9

Wyznaczyć maksimum i minimum z dwóch obrazów 'bacteria.tif' oraz 'blood.tif' (2 wartości 0 i 255).


Zad 10

Mając następującą macierz

A=[ 1 2 9 0; 4 0 1 2; 2 6 4 2; 1 2 3 4]

Podaj w którym wierszu i w której kolumnie znajduje się maksimum.


Wskazówka

Użyć polecenia

[a,b]=max(max(A))

oraz


[a,b]=max(A)
Zad 11

Nałożyć obraz monochromatyczny 'krajobraz1.tif' na obraz monochromatyczny 'wieza.tif' (Rys. 2).



Wskazówka: Aby nałożyć obraz 'krajobraz1.tif', wykonany na jednorodnym tle, na obraz 'wieza.tif', należy:

  1. wykonać binaryzację (o wartości 0.5) z dolnym progiem obrazu 'krajobraz1.tif',

  2. wykonać operację mnożenia między obrazem 'wieza.tif' a zbinaryzowanym obrazem 'krajobraz1.tif', w obrazie wieża powstaje „wypalona dziura” odpowiadająca interesującemu fragmentowi obrazu 'krajobraz1.tif',

  3. dodać „wypaloną dziurę” do obrazu 'krajobraz1.tif' pomnożonego z negacją wykonanej binaryzacji.

Rys.2. Wynik działania programu


[L1a, map1a]=imread('wieza.tif');

L1a=double(ind2gray(L1a, map1a))/255;



...








©operacji.org 2017
wyślij wiadomość

    Strona główna