61
Przetwarzanie obrazów Wprowadzenie do przetwarzania obrazów Radosław Mantiuk Zakład Grafiki Komputerowej Wydział Informatyki Politechnika Szczecińska Maj 2008 All Images in this presentation are the courtesy of Richard Alan Peters

Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Wprowadzenie do przetwarzania obrazów Radosław Mantiuk

Zakład Grafiki Komputerowej

Wydział Informatyki Politechnika Szczecińska

Maj 2008

All Images in this presentation are the courtesy of Richard Alan Peters

Page 2: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Histogram (1)

Image is a courtesy of Richard Alan Peters

niezależne histogramy dla wszystkich kanałów koloru

Page 3: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Histogram (2)

liczba pikseli o danej wartości (poziomie szarości)

Page 4: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Histogram (3)

Image is a courtesy of Richard Alan Peters

wartość pikseli (ang. bins)

liczba pikseli o danej wartości

Page 5: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Histogram (4)

Image is a courtesy of Richard Alan Peters

// input data:!image[] - data of an input image (one 8-bit channel)!width, height - dimensions of an image!!// clear bins!for( i = 0; i < 256; i++ )!

!hist[i] = 0;!!// count frequencies!for( i = 0; i < width*height; i++ ) {!!

!hist[ image[i] ]++; !!!}!!return hist[]

Pseudokod programu obliczającego dane histogramu.

Page 6: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Przetwarzanie pikseli (ang. Point processing) Przetwarzanie pikseli polega na zmianie wartości koloru dla poszczególnych pikseli

obrazu. Każdy piksel przetwarzany jest przez tą samą funkcję.

Page 7: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Przetwarzanie pikseli - Przykłady Przykłady przetworzonych obrazów

Image is a courtesy of Richard Alan Peters

Page 8: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Tablice LUT (Look-up Tables) (1) Szybkie przetwarzanie pikseli.

Page 9: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Tablice LUT (Look-up Tables) (2) Piksel może mieć 256 wartości dla każdego kanału koloru.

Page 10: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Zwiększenie brightness Dodanie wartości większej od 0 do każdego piksela.

Page 11: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Zmniejszenie brightness Odjęcie wartości większej od 0 do każdego piksela.

Page 12: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Zwiększenie kontrastu !  Zwiększenie wartości jasnych pikseli i zmniejszenie wartości dla ciemnych.

Page 13: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Zmniejszenie kontrastu

Page 14: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Funcje PDF i CDF Prawdopodobieństwo, że losowo wybrany piksel ma wartość g.

liczba pikseli o wartości g (odczytana z histogramu)

liczba pikseli w obrazie

Funcja CDF (ang. Cumulative Distribution Function)

Prawdopodobieństwo, że losowo wybrany piksel ma wartość mniejszą lub równą g.

p(g) =1A⋅ h(g)

A = h(gi)i= 0

N

CDF(g) = h(gi)i= 0

g

PDF (ang. Probability Density Function) - prawdopodobieństwo dla danego przedziału

Page 15: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Wyrównanie histogramu (ang. histogram equalization) Zmiana wartości pikseli tak, aby histogram był poziomy (wszystkie

poziomy szarości występowały jednakową liczbę razy)

Zamiana każdego piksela na CDF dla tego piksela.

J(r,c) = 255 ⋅ CDF(I(r,c))A

Page 16: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Wyrównanie histogramu (ang. histogram equalization) Podkreślenie szczegółów w obrazie.

Page 17: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Dopasowanie histogramu (ang. histogram matching) Zmiana histogramu danego obrazu tak, aby jak najlepiej pasował on

do histogramu innego obrazu.

ang. percentile - wartość piksela, dla której określony procent pikseli ma wartość mniejszą (np. 20 percentil oznacza taką wartość piksela, że 20% pikseli w obrazie ma wartość mniejszą od tej wartości)

Page 18: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Dopasowanie histogramu (ang. histogram matching)

Page 19: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Dopasowanie histogramu (ang. histogram matching)

Page 20: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Dopasowanie histogramu (ang. histogram matching)

Page 21: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Splot (ang. convolution)

Wykorzystanie splotu:

Page 22: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Transformacja ruchomego okna (ang. moving window transform)

Dla każdego piksela obrazu wykonanie splotu z maską filtra.

Page 23: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Rozmycie obrazu - filtr dolnoprzepustowy

Page 24: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Rozmycie obrazu - filtr dolnoprzepustowy

Page 25: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Rozmycie obrazu - filtr dolnoprzepustowy

Page 26: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Rozmycie obrazu - filtr dolnoprzepustowy

Page 27: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Wykrywanie krawędzi

Page 28: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Wykrywanie krawędzi

Wertykalnie

Page 29: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Wykrywanie krawędzi

Horyzontalnie

Page 30: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Wykrywanie krawędzi

Wertykalnie + horyzontalnie

Page 31: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Wykrywanie krawędzi

Diagonalnie

Page 32: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

W dziedzinie częstotliwości splot jest iloczynem funkcji.

Splot w dziedzinie częstotliwości

splot w dziedzinie obrazu (całkowanie)

Page 33: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Filtr dolnoprzepustowy Maska idealnego filtru dolnoprzepustowego

Page 34: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Filtr górnoprzepustowy Maska idelanego filtru górnoprzepustowego

Page 35: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Funkcja Gaussa Wykorzystywana do tworzenia masek filtrów

Page 36: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Funkcja Gaussa - Filtr dolnoprzepustowy

Page 37: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Funkcja Gaussa - Filtry Brak artefaktów

Page 38: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Porównanie filtrów

Filtry idealne

Page 39: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Porównanie filtrów

Filtry gaussowskie

Page 40: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Band Pass Filter

Filtrowanie wybranego zakres częstotliwości

Page 41: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Szum (ang. noise)

Szum skorelowany z obrazem: •  interferencja elektryczna, •  interferencja z sensorem, •  pasma moire'a. Szum nieskorelowany: •  błędy sensora, •  błąd kwantyzacji, •  szum na siatkówce, •  halftoning.

obraz obraz idealny szum

Page 42: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Szum nieskorelowany - losowy

Page 43: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Szum nieskorelowany - Szum Gaussa

Page 44: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Szum nieskorelowany - Szum jednorodny

Page 45: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Obraz zaszumiony szumem Gaussa

Page 46: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Reprezentacja częstotliwościowa

obraz idealny obraz zaszumiony

Page 47: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Redukcja szumu

obraz rozmyty obraz z zamaskowanym szumem

Page 48: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

PSF (ang. Point Spread Function)

Splot obrazu z funkcja PSF (ang. Point Spread Function ) (OTF (ang.Optical Transfer Function) )

Page 49: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Szum skorelowany - Periodyczny

Page 50: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Redukcja szumu periodycznego

obraz idealny obraz zaszumiony

maskowanie na zaszumionym obrazie

Page 51: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Redukcja szumu periodycznego

Page 52: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Szum na obrazach po skanowaniu (ang. halftoning)

Page 53: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Redukcja szumu - Filtr Gauss'a

Page 54: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Redukcja szumu - Filtr Gauss'a

Page 55: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Filtr bilateralny (ang. bilateral filtering) Rozmycie obrazu

*

*

*

obraz wejściowy obraz wyjściowy

Stały kernel

Page 56: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Filtr bilateralny (ang. bilateral filtering)

*

*

*

obraz wejściowy obraz wyjściowy

Kształt kernela zależy od kontentu obrazu.

Page 57: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Filtr bilateralny (ang. bilateral filtering) Filtr nieliniowy wygładzający obraz z zachowaniem krawędzi. Jasność piksela zastępowana jest sumą ważoną jasności otoczenia tego piksela. Wagi zależą od odległości od piksela oraz od różnicy jasności między pikselami z otoczenia.

waga przestrzenna (space)

waga jasności (range) I

współ. normalizujący

( ) ( )∑∈

−−=S

IIIGGW

IBFq

qqpp

p qp ||||||1][rs σσ

Page 58: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Filtr bilateralny (ang. bilateral filtering)

σs = 2

σs = 6

σs = 18

σr = 0.1 σr = 0.25 σr = ∞

(Gaussian blur)

Page 59: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Filtr bilateralny (ang. bilateral filtering) function Y = bilateral_fast( X, sigma_s, sigma_r ) % Fast bilateral filter % Y = bilateral_fast( X, sigma_s, sigma_r ) % sigma_s - space (2% of image diagonal) % sigma_r - range (mean or median of image gradients) if ~exist( 'sigma_s', 'var' ) sigma_s = 2; end if ~exist( 'sigma_r', 'var' ) sigma_r = 0.1; end n=6; % number of layers min_x = min(X(:)); max_x = max(X(:)); r = linspace( min_x, max_x, n ); L = zeros( n, numel( X ) ); for i=1:n D = exp(-(X - r(i)).^2/(2*sigma_r^2)); K = blur_gaussian( D, sigma_s ); Ls = blur_gaussian( X.*D, sigma_s ); L(i,:) = Ls(:)./K(:); end

% interpolate ind_r = clamp((X(:)-min_x)/(max_x-min_x)*(n-1)+1, 1, n); ind_down = floor(ind_r); ind_up = ceil(ind_r); ind_fix = (0:n:((numel(X)-1)*n))'; ind_up = ind_up + ind_fix; ind_down = ind_down + ind_fix; ratio = mod( ind_r, 1 ); Y = zeros( size(X) ); Y(:) = L(ind_up).*ratio + L(ind_down).*(1-ratio); end function Y = clamp( X, min, max ) Y = X; Y(X<min) = min; Y(X>max) = max; end

Page 60: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Unsharp masking Wyostrzanie obrazu za pomocą jego rozmytej wersji (unsharp mask). Generuje iluzję typu Cornsweet.

Od obrazu odejmowana jest jego rozmyta i przeskalowana wersja. W rezultacie w pobliżu krawędzi pojawia się efekt Cornsweet. Rozmyty obraz odejmowany jest selektywnie, w zależności od tego czy różnica wartości piksela oryginału i obrazu rozmytego jest wystarczająca.

Page 61: Wprowadzenie do przetwarzania obrazówrmantiuk.zut.edu.pl/data/wyklad_przetwarzanie_obrazow.pdf · liczba pikseli o wartości g (odczytana z histogramu) liczba pikseli w obrazie Funcja

Przetwarzanie obrazów

Unsharp masking

imsharpening