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.