Zestaw zadań F — opis obrazu


Zestaw F

  1. Napisz funkcję zadF1(contour) obliczającą pole powierzchni figury o podanym brzegu. Podany kontur jest pythonową listą współrzędnych (x,y) (pythonowa krotka) kolejnych punktów konturu. W tym zadaniu słowo “punkt” należy rozumieć “matematycznie” (ma zerowy rozmiar), nie należy mylić z pikselem. Kolejne punkty różnią się między sobą albo współrzędną x albo y (tylko jedną z nich). Uwaga: ostatni element na podanej liście nie jest równy pierwszemu punktowi (różni się od niego albo na współrzędnej x albo y).
    Funkcja ma zwrócić pojedynczą wartość – pole powierzchni figury.
    Przykład: zadF1([(0,0),(1,0),(1,1),(0,1)]) == 1

  2. Napisz funkcję zadF2(contour) obliczającą krzywiznę konturu dla każdego z jego punktów. contour to lista współrzędnych kolejnych punktów konturu (tak jak poprzednio jest to pythonowa lista krotek). Dla każdego punktu należy obliczyć jego lokalną krzywiznę (na podstawie sąsiednich punktów).
    Funkcja ma zwracać listę obliczonych wartości o takiej samej długości jak argument wejściowy.

  3. Napisz funkcję zadF3(contour) obliczającą 1D sygnaturę podanego kształtu. Podany kontur jest pythonową listą współrzędnych (x,y) (pythonowa krotka) kolejnych punktów konturu. Sygnatura ma przedstawiać zależność odległości euklidesowej od geometrycznego środka podanych punktów konturu (czyli średniej arytmetycznej z podanych punktów) jako funkcji zmiennej kroczącej krawędzi (czyli dla kolejnych punktów). Funkcja ma zwrócić listę o długości identycznej co contour.

  4. Napisz funkcję zadF4(image, p, q) obliczającą (dyskretny) moment dwuwymiarowy rzędu p+q; image to obraz 2D (współrzędne lewego górnego piksela to (0,0)), p oraz q to nieujemne liczby całkowite.

  5. Napisz funkcję zadF5(image, p, q) obliczającą centralny moment dwuwymiarowy rzędu p+q; image to obraz 2D, p oraz q to nieujemne liczby całkowite.