Wykorzystaj dany projekt i napisz program w C, który wykonuje na obrazie wybrane transformacje z dziedziny przetwarzania obrazów. Obraz wejściowy jest określany w wierszu poleceń opcją --input-file infile. Działania i jego parametry są określane w opcjach. Obraz wyjściowy powinien zostać zapisany do pliku, określonemu opcją --out-file outfile. Program powinien wykonać jedną podaną operację, zapisać wynik i zakończyć pracę. Możesz założyć, że infile zawsze jest poprawnym plikiem JPEG. W testach zawsze będą podawane poprawne opcje. Skompilowany program powinien się nazywać point (w wersji na Windows point.exe). Lista przekształceń i odpowiednich opcji dana jest poniżej. Zwróć uwagę, aby po przekształceniu kolory pikseli nie wykroczyły poza zakres od 0 do 255.
(2
punkty) --filter negate — negacja, piksel zamienia się na
(2
punkty) --filter brightness --percent k — zwiększenie/zmniejszenie jasności o k% (k może być ujemnym):
(2
punkty) --filter contrast --times t — zmiana kontrastu według wzoru
zwiększa kontrast,
zmniejsza kontrast.
(2
punkty) --filter flip --axis a — odbicie względem osi a: --axis x odbicie pionowe, --axis y odbicie poziome (jak na obrazku po lewej)
(4
punkty) --filter rotate --direction d — obrót o 90° w kierunku d: --direction left obrót w lewo, --direction right obrót w prawo (jak na obrazku po lewej)
Dodanie nowego parametru wiersza poleceń:
Deklaracja zmiennej globalnej na początku programu.
Inicjalizacja odpowiedniej struktury w funkcji main. Zwróć unwagę na końcówkę funkcji inicjalizacji: 0 — argument opcjonalny, 1 — wymagany.
Uzupełnenie tablicy argtable. Zmienna end powinna zostać ostatnią.
Ustawienie dla parametru opcjonalnego wartości domyślnej.
Odczytanie wartości z odpowiedniej struktury.
Termin oddania zadań:
klasowych: na zajęciach. Zadania, oddane po terminie, warte są połowę punktów
domowych: do momentu, gdy się pojawi następne zadanie. Zadania, oddane po terminie, warte są 0 (słownie: zero) punktów