From Krzysztof Krawiec

PO: Przetwarzanie Obrazów - Laboratoria - Zajęcia 3

Strona laboratorium

Zajęcia 3 - Obsługa okienek

Zadania

  1. Napisać program w którym można suwakiem ustawić stopień szarości (0-255) całego obrazu. Po każdej zmianie ustawienia powinien być wyświetlony zaktualizowany obrazek o zadanym kolorze.
    Jeśli wykorzystujemy bibliotekę cvshow, to należy użyć funkcji trackbar (analogiczna funkcja do cv2.createTrackbar).
  2. Napisać podobny program ale z trzema suwakami ustawiającymi wartości kanałów RGB. Do odczytywania aktualnej wartości dowolnego suwaka można użyć funkcji cv2.getTrackbarPos.
  3. Napisać program w którym można na (początkowo czarnym) obrazie rysować myszką białe kreski (ustawiać piksele pod kursorem myszki).
    Jeśli wykorzystujemy bibliotekę cvshow, to należy użyć funkcji mouseCallback (analogiczna funkcja do cv2.setMouseCallback).
  4. Zmodyfikować powyższy program tak, aby można było suwakami ustawiać wielkość "pędzla" (zamiast ustawiania pojedynczych pikseli rysować np. od razu całe koła) oraz jego kolor.
  5. Napisać funkcję umożliwiającą zaznaczanie przez użytkownika (myszką) prostokątnego fragmentu obrazu (będącego pierwszym argumentem funkcji). Po każdym zaznaczeniu obszaru należy uruchomić podaną funkcję (drugi argument) przekazując jej zaznaczony fragment.
    Innymi słowy - należy:
    • stworzyć funkcję przyjmująca dwa argumenty, np. zaznacz(caly_obrazek, funkcja_do_uruchomienia)
    • po zaznaczeniu przez użytkownika jakiegoś fragmentu należy uruchomić podaną jako argument funkcję, np: funkcja_do_uruchomienia(zaznaczony_fragment_obrazu)
    • użytkownik po zaznaczeniu jednego fragmentu może ponownie zaznaczyć jakiś inny.
    Zaznaczenie ma odbywać się poprzez naciśnięcie lewego klawisza myszki w jednym narożniku zaznaczanego obszaru i puszczenia tego klawisza w przeciwległym narożniku. W trakcie przeciągania kursora powinien być rysowany (np. kolorowym prostokątem) aktualnie wskazywany obszar.
    Uwaga: zaznaczenie rysujemy na stworzonej kopii oryginalnego obrazu (np. przed każdym narysowaniem kopiujemy sobie oryginalny obraz). Stworzoną funkcję należy sobie zapisać - może być później przydatna do badania cech analizowanego obrazu.

Przykładowe rozwiązanie zadań

Retrieved from http://www.cs.put.poznan.pl/kkrawiec/wiki/?n=PO.Lab3
Page last modified on October 24, 2011, at 12:51 AM