Dzisiejsze zajęcia poświęcimy na analizę obrazów 2D i 3D. Slajdy są tu ONA5-Obrazy Wykład jak zwykle w trybie zdalnym, link podam na czacie wydziałowym.
Przydadzą się pakiety: scipy.ndimage i matplotlib.
Zadania na dziś:
0. Pozyskaj przy pomocy kinect swoje zdjęcie w pracowni komputerowej zarówno w postaci macierzy głebokości, jak i obrazów rgb Niestety, z powodu kwarantanny, musimy polegać na przykladowych obrazach z kamery głębokości tu, a dalmierza tu. Instrukcje jak je wczytać i wyświetlić mogą Państwo znaleźć na naszym serwerze jupyter tutaj
1. Przekształć obraz RGB do skali szarości poprzez uśrednienie składowych.
2. Wyświetl te obrazy na swoim komputerze przy pomocy biblioteki matplotlib
3. Wyświetl histogram obrazu i dokonaj jego “wyrównania” pisząc program w języku python, gdzie nowa wartość pixeli o jasności x wynosi n(x) = (x-min)/(max-min)*255 dla parametrów min i max będących maksymalną i minimalną jasnością punktu. To zadanie lepiej wykonywać na pliku o zaburzonym histogramie, np. tym prześwietlonym plikuobrazek.png
4. Zastosuj filtr Gaussowski z biblioteki ndimage rozmiaru k, aby “wygładzić” obraz i obejrzyj wyniki dla różnych k (3,5,7,9,11,…)
5. Napisz program wykrywający krawędzie przy pomocy filtru Sobel’a, porównaj wyniki swojej implementacji (na podstawie wykładu) z wynikam funkcji sobel
6(*). Napisz program wykrywający cienie na obrazie z miernika odległości i wyświetlający tylko tę część obrazu z kamery, która jest w określonym zakresie odległości od kamery.
7(*). Użyj biblioteki pydicom do wczytania przekrojów przez głowę z projektu visible human. Napisz program, który zamieni te przekroje poziome na prekroje pionowe. Użyj wygładzania krawędzi.