Strona główna Fotografia Obliczeniowa Filtry obrazu

📸 Filtry obrazu

Przetwarzanie obrazu: splot, detekcja krawędzi Sobela, rozmycie gaussowskie i filtrowanie FFT.

Fotografia Obliczeniowa2DŁatwy60 FPS
image-filters ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O tej symulacji

To narzędzie wykonuje prawdziwy splot 2D na rzeczywistych danych pikselowych, stosując małą macierz wag — jądro — do każdego piksela i jego sąsiadów. Każdy piksel wyjściowy to ważona suma otaczającego obszaru — dokładnie tak działają rozmycie gaussowskie, detekcja krawędzi Sobela, wyostrzanie, embossing i filtry górnoprzepustowe. Osobny filtr medianowy zamiast tego rangowo porządkuje sąsiednie wartości, a histogramy na żywo wraz z odczytem PSNR pozwalają zmierzyć, jak każda operacja zmienia obraz.

🔬 Co pokazuje

Matematykę stojącą za przestrzennym filtrowaniem obrazu. Rozmycie gaussowskie wykorzystuje znormalizowane jądro zbudowane z exp(-(x²+y²)/2σ²); Sobel łączy poziome i pionowe jądra gradientu 3×3 i wyznacza ich wielkość; wyostrzanie, emboss i górnoprzepustowy używają stałych jąder 3×3; mediana to filtr rangowy. PSNR (w dB) określa ilościowo różnicę względem oryginału.

🎮 Jak korzystać

Wybierz syntetyczny obraz testowy (Portret, Krajobraz, Płytka drukowana lub Szachownica), a następnie wybierz filtr. Suwak „Rozmycie σ / Siła” ustawia odchylenie standardowe Gaussa, a suwak „Próg” kontroluje próg odcięcia dla Sobela. Siatka jądra na żywo, czas przetwarzania, PSNR i podwójne histogramy aktualizują się przy każdej zmianie.

💡 Czy wiesz, że…

Dwuwymiarowe rozmycie gaussowskie jest separowalne: zastosowanie jądra 1D poziomo, a potem pionowo daje ten sam wynik znacznie taniej niż pełny splot 2D pokazany tutaj. Ta separowalność jest powodem, dla którego rozmycie gaussowskie jest jedną z najszybszych operacji wygładzania w rzeczywistych potokach przetwarzania obrazu.

Najczęściej zadawane pytania

Czym jest jądro splotu?

Jądro to niewielka siatka liczb, zwykle 3×3, która określa, jak każdy piksel jest łączony z sąsiadami. Filtr przesuwa jądro po obrazie, mnoży każdą wagę jądra przez piksel pod nią i sumuje wyniki, aby uzyskać jeden piksel wyjściowy. Różne wzorce wag tworzą rozmycie, wyostrzanie, detekcję krawędzi i inne efekty.

Jak działa tutaj detekcja krawędzi Sobela?

Filtr Sobela uruchamia dwa jądra 3×3, jedno wykrywające poziome zmiany intensywności (Gx), a drugie pionowe (Gy). Wielkość gradientu to sqrt(Gx² + Gy²), a każdy piksel, którego wielkość przekracza suwak Progu, jest rysowany na biało, reszta na czarno. Podniesienie progu zachowuje tylko najsilniejsze krawędzie.

Co właściwie zmienia suwak σ rozmycia?

Ustawia odchylenie standardowe jądra gaussowskiego. Większe σ rozkłada wagę na szerszy promień (rozmiar jądra jest obliczany jako w przybliżeniu 2σ po każdej stronie), dając silniejsze, gładsze rozmycie. Mniejsze σ utrzymuje jądro ciasne, więc na każdy piksel wpływają tylko bezpośredni sąsiedzi.

Dlaczego filtr medianowy różni się od pozostałych?

Filtry splotowe obliczają średnią ważoną, co może rozmazać ostre cechy. Filtr medianowy zamiast tego zbiera wartości sąsiednich pikseli, sortuje je i wybiera środkową. Ponieważ jest to operacja rangowa, a nie średnia, usuwa szum typu sól i pieprz, znacznie lepiej zachowując krawędzie niż rozmycie gaussowskie.

Czy te filtry są fizycznie dokładne?

Tak. Jądra i pętla splotu to te same operacje, które są używane w prawdziwych bibliotekach przetwarzania obrazu, uruchamiane piksel po pikselu na obrazie 200×160 z przycinaniem na krawędziach. Wartość PSNR (szczytowy stosunek sygnału do szumu w decybelach) to standardowa metryka porównywania przetworzonego obrazu z oryginałem, więc pokazane liczby odzwierciedlają rzeczywiste wyniki.

Podobne symulacje