Laboratorium nr 11



Pobieranie 140,04 Kb.
Strona1/3
Data28.02.2019
Rozmiar140,04 Kb.
  1   2   3

Computer Vision - tłum. Magdalena Wilkołazka

Laboratorium nr 11
Celem tego laboratorium jest wprowadzenie do technik manipulowania tonami szarości obrazu tj. ustawieniami jasności i kontrastu, korekcją gamma i wyrównaniem histogramu.
Te techniki manipulacji tonami szarości są dostępne w większości programów do przetwarzania obrazów, ale niewiele osób wie, jak tak naprawdę stosować je skutecznie.

Obrazy do laboratoriów znajdują się pod adresem:


obrazy do labów. Podczas ściagania należy zapisać obraz, który otworzy się po klinięciu na miniaturę. Klikamy na niego prawym przyciskiem myszy i wybieramy Zapisz grafikę jako...
M-pliki z funkcjami do manipulowania obrazami są pod adresem:

m-pliki
Początki pracy w Matlabie
Matlab jest środowiskiem obliczeniowym dla wysokiej wydajności obliczeń i wizualizacji. W Matlabie podstawową strukturą sa macierze. Wiele problemów numerycznych, szczególnie tych typowych dla algebry liniowej, może być rozwiązanych w krótkim czasie także w takich językach jak język C.
Oprócz Matlaba kompatybilnym i dobrym środowiskiem do pracy jest środowisko Octave – darmowe. Większość poleceń Matlab jest w tym środowisku rozpoznawalnych i można je z powodzeniem użyć do ćwiczenia w domu.
Pliki instalacyjne Octave dla Windows


  1. MXE Builds (nieoficjalna, rekomendowana):

    • GNU Octave 3.8.2

  2. Cygwin package (wymaga instalacji Cygwin):

    • GNU Octave 3.8.2 Cygwin package

  3. MinGW + Visual studio (oficjalna):

    • GNU Octave 3.6.4 and Octave Forge Packages

Należy skopiować kilka plików z obrazami ( w tym plik „shapes.png”) z katalogu wskazanego powyżej do katalogu własnego z obrazami i uruchomić Matlaba.


W Matlabie za operacje na obrazach odpowiada Image Processing Toolbox. Zawiera on zbiór funkcji zaczynając od wyświetlajacych obrazy, filtrujących, analizujących i przekształcających. Większośc tych funkcji jest zapisanych jako m-pliki. Mozesz podejrzec kod funkcji wpisując w poleceniu Matlaba:
type nazwa_funkcji

np.


type hist – funkcja hist rysuje histogram wektora danych
lub prościej

help nazwa_funkcji



np. help imread
Można też zajrzeć do pomocy Matlaba.
Matlab posiada wbudowany edytor, który pozwala na tworzenie własnych funkcji oraz skryptów tzw. m-plików. Aby go uruchomić należy wybrać Menu Plik → Nowy
Pliki z obrazami możemy importować mdo Matlaba na kilka sposobów. Jednym z najciekawszych jest użycie polecenia imread. Funkcja imread próbuje odgadnąc format pliku na podstawie jego zawartości i odczytuje wiele typów plików, włączając pliki .png. Polecenie:
im=imread(‘shapes.png’)

– musisz być w tym samym folderze, co obraz (folder sprawdzamy poleceniem userpath)

lub podajemy pełną scieżkę sieciową lub lokalną do pliku
im=imread(‘http://undergraduate.csse.uwa.edu.au/units/CITS4240/Images/shapes.png’);
zwróci nam obraz im w postaci macierzowej, który możemy edytować.
Aby określić ilość wierszy i kolumn w tym obrazie użyć możemy funkcji size, która zwróci rozmiar macierzy im – ilość wierszy i kolumn odpowiednio. Polecenie, którego nie zakończymy średnikiem wyświetli w konsoli rezultat swojego działania. Jeśli obraz, który załadowaliśmy jest kolorowy, to funkcja size zwróci nam macierz trójwymiarową, gdzie trzeci wymiar ma rozmiar 3 dla wartości czerwonej, zielonej i niebieskiej w obrazie.
Aby zobaczyć obraz, który został załadowany użyjemy narzędzia imtool lub imshow
imtool(im)

imshow(im) %Uwaga: Możesz potrzebowac uzyć colormap(gray) (aby „pokolorować” powierzchnię wykresu okreslonymkolorem lub zestawem kolorów)
Aby uprościć wyświetlanie obrazów stworzono funkcję show.m dostepna po kliknięciu i zapisaniu we własnym folderze roboczym.
Policzyć i wyświetlić histogram obrazu można poleceniem:
imhist(im)
Jesli obraz, który załadowaliśmy jest kolorowy imhist zwróci informację, że pracuje wyłącznie w skali szarości, wtedy należy przekonwertować go do tej skali poleceniem:
g=rgb2gray(im)
Potem, nalezy okreslić próg (treshold), aby utworzyc obraz binarny zawierający proste połączone obiekty. Możesz ustawić twój obrazu na takim poziomie, aby otrzymać czarno-biały obraz, BW, używając operatora logicznego Matlaba „większy niż” w poniższym poleceniu:
BW = im > 150; %progowanie obrazu dla wartości szarości 150
Ustawienie w takim obrazie 0 i 1 zalezy od tego czy piksel dany miał wartość większą niż 150 (1) czy nie (0). Wyświetl obraz i dopasuj próg jesli jest to potrzebne.
Funkcja bwarea liczy obszar obiektu. Podobnie możesz użyć: sum(sum(BW)).
http://www.mathworks.com/help/images/ref/bwarea.html


Using XV – program Linuxowy


XV is an image display and manipulation program written by John Bradley at the University of Pennsylvania. Invariably you will find it on all computers running the Unix operating system and it is included in standard Linux distributions.

XV has a large number of 'controls' which will allow us to illustrate most of the common image grey-tone manipulation techniques.

In an xterm window type 'xv' (run it in background by typing xv &). A window will appear with the default xvimage.



Click the right mouse button on this window, this will bring up the main xv control panel.



Click on the 'Windows' button in the middle-top of the control panel and select 'Visual Schnauzer'. This will bring up a window that will be reminiscent of a standard Microsoft Windows window. You will need to repeatedly double-click on the 'Parent' folder until you get to the root directory ('/'), then you will need to find your way down through the cslinux, examples, CITS4240 and Images directories. Note that you can also get to these images (in a non-visual way) via the load button on the main control panel.

Choose an image that interests you and load it by simply double-clicking on its icon.

You may want to increase the size of the image. On the main xv control panel click on the 'Image Size' button and select, say, 'Double Size'.



: files -> 146935 -> public -> computer vision
public -> Kolejne kroki tej metody to
public -> Podstawy o czym będziemy mówić? Krótka historia C++
public -> Zadania z bramek logicznych I projektowania układów
public -> Liczby rzeczywiste, wprowadzane do komputera w zapisie dziesiętnym, podlegają automatycznemu przetworzeniu do jednej z postaci przewidzianych w standardzie ieee 754-2008
public -> Na dzisiejszych ćwiczeniach zostanie pokazany proces generowania kodu na podstawie przykładowego diagramu klas opisującego sklep inetrnetowy
public -> Przeliczanie liczb w systemie dziesiętnym na kod U2 I odwrotnie
public -> 1. Operacje arytmetyczne na liczbach w różnych systemach liczbowych dodawanie, odejmowanie, mnożenie i dzielenie
computer vision -> Laboratorium nr 11
public -> Instrukcja switch I typ wyliczeniowy


  1   2   3


©operacji.org 2019
wyślij wiadomość

    Strona główna