Zajęcia 5 - Operacje morfologiczne i inne
Zadania
- Sprawdź działanie funkcji
cv2.erode
i cv2.dilate
dla różnej liczby iteracji. Efekt najlepiej zaobserwować na dwukolorowym obrazie (czarno-białym). Efekt najlepiej zaobserwować na dwukolorowym obrazie (czarno-białym), np. takim.
Uwaga 1: jeśli parametr kernel=None to używany jest element strukturalny o wymiarach 3x3.
Uwaga 2: w Pythonie można podawać jawnie nazwy parametrów, np:
cv2.erode(img, None, iterations=3)
- Dla prostego obrazu sprawdź działanie erozji i dylatacji gdy element strukturalny ma inny kształt (np. jest macierzą o wymiarach 1x3).
- Sprawdź działanie innych operacji morfologicznych używając funkcji cv2.morphologyEx.
- W binarnym obrazie (dwukolorowym) znajdź kontury używając funkcji cv2.findContours. Funkca
findcontours
modyfikuje obraz wejściowy oraz zwraca listę konturów oraz ich hierarchię. Można ją wywołać np. tak:
contours, hierarchy = cv2.findContours( img.copy(),
cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
- Oblicz (cv2.contourArea) oraz wyświetl pole powierzchni każdego znalezionego konturu.
Przykładowe rozwiązanie zadań