From Krzysztof Krawiec

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

Strona laboratorium

Zajęcia 4 - Przetwarzanie lokalne

Zadania

  1. Przekonwertować kolorowy obrazek do innych przestrzeni barw używając funkcji (cv2.cvtColor). Obejrzeć każdy z wynikowych kanałów w osobnym oknie.
    Uwaga! przed wyświetleniem jednego z kanałów należy go skopiować, tzn:
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    hue = hsv[:,:,0].copy() # kopiujemy!
    show(hue)
    
    • BGR -> gray (zamiana na odcienie szarości) [code = cv2.COLOR_BGR2GRAY]
    • BGR -> HSV [code = cv2.COLOR_BGR2HSV]
    • BGR -> HSL [code = cv2.COLOR_BGR2HLS]
    • BGR -> YCrCb [code = cv2.COLOR_BGR2YCR_CB]
  2. Napisać funkcję która liczy i wyświetla histogram z obrazka jednokanałowego. Można użyć funkcji cv2.calcHist lub policzyć go "ręcznie" iterując po elementach macierzy i zliczając liczbę wystąpień każdej wartości (czyli odcienia szarości). Obliczony i znormalizowany histogram wyświetlić (stworzyć odpowiedni obrazek/macierz) w postaci słupków.
  3. Przefiltrować obraz używając filtru dolnoprzepustowego (GaussianBlur lub blur) oraz filtru medianowego (medianBlur). Proszę przetestować działanie dla różnych rozmiarów okna używanymi przez te funkcje (rozmiar najlepiej ustawiać suwakiem) - uwaga na wartości - część funkcji akceptuje tylko nieparzysty rozmiar okna.
    Proszę obserwować wpływ działania filtrów na histogram obrazu.
  4. Wczytaj ten obrazek jako jednokanałowy (cv2.imread(scieżka, 0)). Następnie sprawdź czy da się wyodrębnić z niego tylko napis (czarny obraz z białymi literami) używając zwykłego progowania przy pomocy funkcji cv2.threshold. Wartość progu ustawiaj za pomocą suwaka - obserwuj wynik działania.
  5. Spróbuj wyodrębnić napis z poprzedniego zadania używając tym razem funkcji cv2.adaptiveThreshold - podając odpowiednie parametry tym razem powinno się udać. Suwakami steruj rozmiarem okna oraz stałą C.

Przykładowe rozwiązanie zadań

Retrieved from http://www.cs.put.poznan.pl/kkrawiec/wiki/?n=PO.Lab4
Page last modified on November 07, 2011, at 06:30 PM