Przetwarzanie obrazow - filtry, algorytmy


(Szczepi 86) #1

Wlaciwie nie bylem pewien czy ten post umiescic w dziale "Grafika" czy "Programowanie". Potrzebuje stworzyc program stosujacy filtr dolno- i gornoprzepustowy dla czarnobialych map bitowych, oraz zaimplementowac przekształcenie Hartleya z decymacją w dziedzinie częstotliwości.Brzmi nieco okrutnie. Szukalem w internecie, ale zbyt wiele nie znalazlem. Moze ktos moze polecic jakies ciekawe zrodlo w internecie, ktore zna, lub ma przyklady chociazby wspomnianych filtrow gdzies zaimplementowane i moze sie nimi podzielic. Wiem ze pytanie moje jest dosc ogolne i bardzo za to przepraszam, ale to dopiero poczatek mojej drogi zwiazanej z tym programem. Wszelka pomoc mile widziana.


(Airborn) #2

Filtracja górno i dolno przepustowa polega na splocie macierzy obrazu z odpowiednio przygotowaną macierzą filtru. Przykładowe macierze dla różnych typów filtrów znajdziesz tutaj. Przykład bardziej zaawansowanego filtru pokazano chociażby tutaj. Dodatkowo należy każdy piksel przeskalować przez współczynnik równy 1/suma_wszystkiech_elementów_macierzy.

Pozostaje jeszcze kwestia brzegów obrazu, w przypadku macierzy filtru 3x3 nie ma przez co mnożyć pikseli obrazu znajdujących się w skrajnych kolumnach czy rzędach. Można przyjąć, że są one równe pikselom w skrajnych kolumnach/rzędach, ewentualnie przyjąć 0 (ale to wymaga zmiany współczynnika skalowania dla tych pikseli).

Spora część tych funkcji jest zaimplementowana w jakichś bibliotekach do przetwarzania obrazów (np. OpenCV, w Matlabie czy Octave to też kwestia 2 linijek) więc może wcale nie musisz tego ręcznie robić?


(Szczepi 86) #3

Dziekuje bardzo - ciesze sie ze jednak ktos odpisal na moj watek - kazda wskazowka jest mile widziana :slight_smile: