1 / 29

Radosław Gurzyński „Fotka” – Program do przeglądania i podstawowej edycji obrazów

Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Podyplomowe Studium Programowania i Zastosowania Komputerów. Radosław Gurzyński „Fotka” – Program do przeglądania i podstawowej edycji obrazów napisany w języku C#. Praca dyplomowa

Télécharger la présentation

Radosław Gurzyński „Fotka” – Program do przeglądania i podstawowej edycji obrazów

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Uniwersytet Mikołaja KopernikaWydział Fizyki, Astronomii i Informatyki StosowanejPodyplomowe Studium Programowania i Zastosowania Komputerów Radosław Gurzyński „Fotka” – Program do przeglądania i podstawowej edycji obrazów napisany w języku C# Praca dyplomowa opiekun: dr Jacek Matulewski Toruń 2008

  2. Założenia projektu Podstawowym założeniem projektu było stworzenie programu umożliwiającego przeglądanie zdjęć oraz rozwinięcie umiejętności programowania w języku C#. Zaawansowane filtry oraz mechanizmy skalowania oparte na framework’u AForge.NET, w znaczący sposób rozszerzyły jego możliwości.

  3. Okno programu

  4. Język programowania C# C# (C Sharp, C♯, wym. si-szarp, dosłownie C-krzyżyk) to obiektowy język programowania zaprojektowanym przez zespół pod kierunkiem Andersa Hejlsberga dla firmy Microsoft. Program napisany w tym języku kompilowany jest do języka Common Intermediate Language (CIL), specjalnego kodu pośredniego wykonywanego w środowisku uruchomieniowym .NET, Mono lub DotGNU (środowiska darmowe).

  5. Przykładowy kod C# using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello world!"); } } } Deklaracje przestrzeni nazw Klasa główna programu ‘Main’ rozpoczyna program Wypisanie tekstu w konsoli

  6. MS Visual C# 2005 Express Eksplorator projektu Kod programu Okno właściwości aktywnego obiektu Błędy / ostrzeżenia podczas kompilacji

  7. Wykorzystane biblioteki • ScalablePictureBox – ScalablePictureBox jest rozszerzeniem standardowej kontrolki PictureBox znanej z Visual C#. Skaluje ona automatycznie załadowany do niej obraz i pokazuje go w skali dopasowanej do aktualnej wielkości kontrolki; • AForge.NET Framework – biblioteka AForge.Imaging jest zbiorem narzędzi do skalowania obrazów, nakładania filtrów, tekstur, wyszukiwania krawędzi; • Image Processing Lab – formularze filtrów;

  8. Format XML XML (z angielskiego Extensible Markup Language, w wolnym tłumaczeniu rozszerzalny język znaczników) to uniwersalny język formalny przeznaczony do reprezentowania różnych danych w ustrukturalizowany sposób. XML jest niezależny od platformy, co umożliwia łatwą wymianę dokumentów pomiędzy różnymi systemami. Pliki XML wykorzystano do przechowywania konfiguracji programu.

  9. Odczyt i zapis danych z XML • System.XML.XmlTextReader – Klasa odpowiadająca za odczyt danych XML z pliku, sprawdzając czy dokument jest poprawnie zbudowany. Odczytując dokument można poruszać się tylko do przodu; • System.XML.XmlTextWriter – pozwala z kolei na zapisywanie danych do pliku XML (bez możliwości cofnięcia się do poprzednich linii);

  10. Przykładowy plik XML Nagłówek / deklaracja wersji i kodowania <?xml version="1.0" encoding="utf-8" standalone="yes"?> <!--plik z ustawieniami okna fotka--> <opcje nazwa="fotka"> <pozycja> <x>209</x> <y>137</y> </pozycja> <wielkość> <w>953</w> <h>748</h> </wielkość> <ostatnio_otwarty> <sciezka_1>C:\Dokumenty\GT\005.jpg</sciezka_1> </ostatnio_otwarty> </opcje> Znacznik ‘opcje’ zawierający wszystkie elementy Element pozycja i jego el. potomne x i y z wartościami Element wielkość i jego el. potomne w i h wartościami Scieżka do ostatnio otwartego pliku Znacznik zamykający ‘opcje’

  11. Mechanizm Drag’n’drop Przeciągnij i upuść (ang. drag and drop) to jedno z udogodnień oferowanych przez menedżery okien graficznych interfejsów użytkownika. Polega ono na umożliwieniu użytkownikowi wykonywania określonych operacji na dwóch różnych obiektach za pomocą pojedynczego ruchu myszą komputerową.

  12. W celu użycia tej techniki należy wykonać następujące czynności: • ustawić kursor myszy nad obiektem na ekranie, wcisnąć lewy klawisz myszy • trzymając wciśnięty klawisz, przesunąć myszą kursor do miejsca docelowego • puścić przycisk myszy Przeciąganie pliku na ikonę programu lub jego okno w celu otworzenia tego pliku:

  13. Menu programu Menu ‘Plik’ – pozwala otworzyć dowolny lub ostatnio otwarty, zamknąć aktualnie otwarty, zapisać, opuścić program; Menu ‘Edycja/Filtry’ –pozwala przywołać ustawienia programu oraz zastosować wybrane przekształcenie lub filtr; Menu ‘Info’ – zawiera informacje na temat programu;

  14. Okno ustawień

  15. Dostępne przekształcenia / filtry • Skalowanie • Obracanie o dowolny kąt • Symetria względem obu osi • Filtrowanie kanałów RGB • Skala szarości • Sepia • Negatyw • Korekta nasycenia, jasności, kontrastu • Binaryzacja wg kilku algorytmów • Zmiana ostrości (wygładzanie i wyostrzanie – kilka algorytmów) • Wyszukiwanie krawędzi • Drgania, pikselizacja

  16. Przykłady przekształceń Oryginał obrazu:

  17. Obrót o zadany kąt

  18. Skalowanie

  19. Filtrowanie kanałów

  20. Sepia

  21. Skala szarości

  22. Negatyw

  23. Jasność, nasycenie, kontrast

  24. Binaryzacja

  25. Wygładzanie

  26. Wyostrzanie

  27. Wykrywanie krawędzi

  28. Pikselizacja

  29. Koniec Dziękuję za uwagę * w prezentacji wykorzystano plik graficzny img5.jpg będący częścią systemu Windows Vista i własnością Microsoft

More Related