Przetwarzanie obrazów - Zestawy zadań - Kopia.odt

Transkrypt

Przetwarzanie obrazów - Zestawy zadań - Kopia.odt
C - Przetwarzanie obrazów (2)
Napisz program, który umożliwi użytkownikowi wykonanie następujących operacji:
•
Wczytanie z pliku do pamięci obrazu w formacie PGM
•
Wyświetlenie informacji o parametrach wczytanego obrazu (wymiary, skala szarości, opcjonalnie komentarz)
•
Obrót wczytanego obrazu w pionie bądź w poziomie (lustro)
•
Usunięcie wczytanego obrazu z pamięci
•
Zapisanie obrazu z pamięci do pliku o podanej przez użytkownika nazwie
Do reprezentacji obrazu należy wykorzystać strukturę. Pamięć na tablicę pikseli należy alokować dynamicznie. Poszczególne
operacje należy rozbić na funkcje przyjmujące jako parametry wskaźnik na strukturę obrazu oraz wszelkie niezbędne dane. Cały
projekt należy rozłożyć na 3 pliki – main.c (program główny), pgm.h (deklaracje struktury dla obrazu oraz funkcji przetwarzających
obrazy) i pgm.c (definicje funkcji przetwarzających obrazy). Komentarze do poszczególnych funkcji należy zawrzeć w pliku pgm.h.
Funkcje przetwarzające obrazy nie powinny wykonywać jakichkolwiek operacji interakcji z użytkownikiem (o wszelkie potrzebne
dane należy dopytać w głównym programie). Wybór poszczególnych operacji do wykonania przez program należy zaimplementować
w formie menu z opcjami wyboru wyświetlanymi na ekranie.
Termin oddania programu: 22.11.2013
Punktacja programu:
p = a1∙a2∙a3∙a4∙a5
•
a1 – zgodność działania programu z podaną specyfikacją – 5 pkt
•
a2 – poprawność wykorzystania elementów języka C (pętle, instrukcje sterujące, odczyt i zapis do plików, struktury,
dynamiczna alokacja pamięci, funkcje, podział na pliki, brak ostrzeżeń podczas kompilacji...) – 5 pkt
•
a3 – styl programowania (wcięcia w kodzie, intuicyjne nazwy zmiennych i funkcji, stosowanie komentarzy) – 4 pkt
•
a4 – odporność programu na błędnie podane dane oraz błędy w plikach – 4 pkt
•
a5 – terminowość oddania programu – w terminie: 2 pkt, termin przekroczony: 0 pkt, dodatkowo -1 pkt za każdy dzień
spóźnienia
BONUS: W celu otrzymania dodatkowych 4 punktów, należy umożliwić użytkownikowi wczytywanie nie jednego, a dowolnej
liczby obrazów w formacie pgm i wykonywanie na nich poszczególnych operacji. Operacje będą w takiej sytuacji wykonywane na
wskazanym przez użytkownika obrazie.