(5
punktów) Napisz program w C/C++, który wykonuje na obrazie wybrane przekształcenia punktowe. Ocena: ½ punktu za każde przekształcenie. 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ą --output-file outfile. Program powinien wykonać podaną operację, zapisać wynik i zakończyć pracę. Możesz założyć, że infile zawsze jest poprawnych 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:
--negate 1 — negacja,
--plus-brightness k — zwiększenie/zmniejszenie jasności o k%,
--times-contrast t --plus-contrast k — zmiana kontrastu według wzoru
--brightness-min min --brightness-max max — rozciąganie przedziału jasności, min oraz max podaje się w odsetkach,
--threshold-min min --threshold-max max — binaryzajca, min oraz max podaje się w odsetkach,
--add file — dodawanie obrazów,
--subtract file — odejmowanie obrazów,
--multiply file — mnożenie obrazów,
--and file — logiczna koniunkcja obrazów,
--or file — logiczna suma obrazów,
--xor file — operacja XOR na obrazach,
--minus file — logiczna różnica obrazów.
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