dikamilo.net

Kolejny blog w sieci...

Windows 8 Developer Preview

2 Komentarzy

Od kilku dni można testować nowy system Microsoftu, Windows 8 w wersji deweloperskiej. System można ściągnąć w dwóch wersjach, Developer Preview oraz Developer Preview with developer tools. Ta druga jest o ponad 1GB większa z racji tego że zawiera nowe Visual Studio oraz SDK dla systemu. Developer Preview można pobrać w wersji x64 oraz x84.

Postanowiłem przetestować nowy "wynalazek" Microsoftu, w tym celu przygotowałem sobie środowisko VirtualBox, przydzieliłem 1GB pamięci RAM, 2 rdzenie procesora, 32MB pamięci VRAM oraz 30GB miejsca na sam system. Całość była testowana na moim laptopie Asus N61JV.

Filtry splotowe w C#

0 Komentarzy

Kolejnym zagadnieniem grafiki komputerowej które chciałbym omówić są tak zwane filtry splotowe. Są one stosowane w przetwarzaniu obrazów do uzyskiwania różnych informacji o obrazie, do nakładania efektów takich jak rozmycie, wyostrzenie czy odnajdowanie krawędzi. Działanie filtrów splotowych opiera się na wyliczeniu nowej wartości piksela biorąc pod uwagę sąsiednie piksele.

Generalnie filtr składa się z maski wag każdego piksela. Typowy rozmiar maski to 3x3, 5x5 czy 7x7. Oczywiście maski mogą być dużo większe i nie koniecznie muszą być kwadratowe jednak wysokość i szerokość takiej maski musi być nieparzysta. Im większa maska tym efekt jest silniejszy i bardziej dokładny a co za tym idzie obliczenia trwają dłużej. Środkowa wartość maski jest przypisana do piksela na którym wykonywane są przekształcenia. Dodatkowo stosuje się tak zwaną wartość normalizacyjną która zazwyczaj jest sumą wszystkich wag maski (w przypadku gdy suma wag wynosi 0, współczynnik przyjmuje wartość 1), lub może być przypisana ręcznie w zależności co chcieli byśmy uzyskać.

Najprostszym filtrem jest filtr 3x3 w którym środkowa wartość wynosi 1 a pozostałe 0. Taki filtr nic nie zmienia w przetwarzanym obrazie.

Modele barw oraz implementacja w C#

4 Komentarzy

Dzisiaj będzie pierwszy wpis z dziedziny grafiki komputerowej, inspirowany laboratorium jakie miałem w poprzednim semestrze. Zostaną omówione pokrótce systemy barw takie jak RGB, CMYK, HSL, HSV, YUV, LAB oraz zostanie przedstawiona implementacja algorytmów konwersji między RGB a innymi modelami. Implementacja została wykonana w C# ze względu na dość wygodne i szybkie tworzenie systemu UI. Nie zostanie opublikowany pełny kod źródłowy projektu ze względu na dość chaotyczny sposób w jaki go realizowałem, nie wszystko zostało dobrze przemyślane i niektóre rzeczy nie są napisane zbyt optymalnie ale fragmenty które zostaną zaprezentowane w zupełności wystarczą do omówienia tematu.