Drukarka, czyli kłamstwa Twoich oczu

23.11.2009 - Krzysztof Dryś
TrudnośćTrudność

Szum

Zazwyczaj nie chcemy mieć na naszych zdjęciach szumów. Przekonamy się jednak, że mogą one być przydatne. Najpierw jednak zobaczymy jak sami możemy generować szum.

Wyobraźmy sobie, że mamy do dyspozycji kostkę 5 ścienną. Na jej ścianach wymalowane są liczby -2,-1,0,1,2. Gdy rzucamy kostką, każda ściana może wypaść z jednakowym prawdopodobieństwem. Innymi słowy, jeżeli oznaczymy wynik rzutu kostką jako $ X $, to $ \mbox{Prawdopodobieństwo}(X = i) = {1 \over 5} $ dla $ i \in \{-2,-1,0,1,2\} $.

Czy wiesz, że: tak zdefiniowany $ X $ jest dyskretną zmienną losową o rozkładzie jednostajnym? Ta wiedza zupełnie nie będzie nam potrzebna, ale świetnie nadaje się do imponowania znajomym!

Nasza kostka nie musi mieć akurat 5 ścian. Równie dobrze możemy sobie wyobrazić, że mamy kostkę, która ma $ 2d +1 $ ścian. Na tych ścianach będą liczby -d, -(d-1) ... -1,0,1 ... (d-1), d . Teraz $ \mbox{Prawdopodobieństwo}(X = i) = {1 \over {2 \cdot d + 1} } $ dla $ i \in \{-2,-1,0,1,2\} $

Ale tak właściwie - kto by się bawił kostkami w epoce komputerów? Zamiast kostki możemy wziąć funkcję kostka(d). Wyjściem tej funkcji jest wynik rzutu kostką $ 2d +1 $ ścienną. Oczywiście jest to funkcja losowa - nie umiemy przewidzieć jaki będzie jej wynik (tak jak nie umiemy przewidzieć rzutu kostką). Ale o to nam właśnie chodzi.

No, dobrze, ale jaki ma to związek z szumem? Otóż ta funkcja bardzo przyda się nam do zbudowaniu algorytmu zaszumiającego obrazek:

1
2
3
4
5
6
U = obrazek wejściowy
T = obrazek z szumem
d = parametr szumu
Dla i = 1...n
 Dla j = 1..m
  T[i,j] = U[i,j] + kostka(d)

Popatrzmy na obrazki, wyprodukowane przez ten algorytm.

alternative text Wynik zastosowania algorytmu przy $ d=20 $.
alternative text Wynik zastosowania algorytmu przy $ d=60 $.
alternative text Wynik zastosowania algorytmu przy $ d=90 $.

Co widzimy na powyższych obrazkach? Im większe $ d $, tym więcej jest szumu. A to dlatego, że większy jest rozrzut wartości zwracanych przez funkcję kostka(d).

Pamiętacie jeszcze, że naszym celem jest stworzenie obrazka, który będzie mogła wydrukować drukarka? Okazuje się, że szum może nam pomóc. Spróbujmy zastosować poprzedni algorytm na zaszumionych obrazkach.

alternative text Wynik zastosowania pierwszego algorytmu (przy $ p=50 $) na zaszumionym obrazku (przy $ d=20 $).
alternative text Wynik zastosowania pierwszego algorytmu (przy $ p=125 $) na zaszumionym obrazku (przy $ d=60 $).
alternative text Wynik zastosowania pierwszego algorytmu (przy $ p=180 $) na zaszumionym obrazku (przy $ d=90 $).

5
Twoja ocena: Brak Ocena: 5 (9 ocen)

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com