Strona główna Fora Foto Technika fotografowania Wyostrzanie w lustrzance cyfrowej Re: Wyostrzanie w lustrzance cyfrowej

Re: Wyostrzanie w lustrzance cyfrowej

Strona główna Fora Foto Technika fotografowania Wyostrzanie w lustrzance cyfrowej Re: Wyostrzanie w lustrzance cyfrowej

#62110
autofocus
Member
johnas wrote:
Ustaw na “0 normalne”.
Teoria o odzyskiwaniu danych z powodu rozmycia obrazu wydaje się śmieszna – bo niby co miało rozmyc obraz ?Powietrze?Soczewki w obiektywie?

No dobrze. To wytłumaczę skrót myślowy, który stoi za tym sformułowaniem o odzyskiwaniu danych. Po pierwsze w technologii cyfrowej, nie zależnie czy to zdjęcie, czy może dźwięk z płyty cd albo MP3 mamy do czynienia z ciągłym odzyskiwaniem danych, które nawet całkiem nieźle działa, zważywszy, że płyt CD (a nawet o zgrozo MP3) da się słuchać i 99,9% populacji nie widzi w tym żadnej profanacji dźwięku.
W technologii cyfrowej dźwięk zapisywany jest na podstawie próbek sygnału branych co jakiś czas z sygnału analogowego. Te próbki zapisywane są na nośniku cyfrowym, a później na ich podstawie w odtwarzaczu (CD, komputer pokazujący obraz, DVD itp., aparat cyfrowy) odzyskuje się właściwy obraz uzupełniając dane które nie zostały zapisane w procesie próbkowania. Najłatwiej wytłumaczyć to właśnie na przykładzie aparatu cyfrowego, bo w znacznej większości matryc (wyjątek stanowi Foveon X3) każde dwa sąsiadujące ze sobą piksele rejestrują obraz o innym kolorze. Układ pikseli w linii jest RGBGRGBGR… Tak więc matryca o 10 milionach pikseli ma 5 milionów pikseli zielonych i po 2,5 miliona pikseli czerwonych i niebieskich. Ale z aparatu wychodzą zdjęcia które w każdym kanale RGB mają po pełne 10 milionów pikseli. Tak więc w czasie przetwarzania danych pobranych przez matrycę aparat odzyskuje/odgaduje informacje o wartościach koloru w 20 milionach punktów (2/3 obrazu). Robi się to za pomocą procesu zwanego interpolacją.
Teraz pozostaje pytanie jak to zrobić. Pytanie na które nie ma prostej odpowiedzi. W większości przypadków dokładny algorytm jest pilnie strzeżoną tajemnicą. Ja podam tylko dwa możliwe rozwiązania, pokazując, że za każdym razem możemy uzyskać inne wyniki.
Załóżmy, że mamy dane x1=10, x2=11, x4=2,x5=3. Szukamy danej x3. Najprostszy sposób to średnia z dwóch sąsiednich danych: czyli (x2+x4)/2, która wynosi 6,5. Taki algorytm nazywamy liniowym, bo przybliżaliśmy poszukiwaną wartość za pomocą funkcji liniowej. Zwróćmy uwagę, że skok między x2 a x4 jest ogromny, jeśli jest to zdjęcie to można spodziewać się, że znajduje się tam krawędź, ale algorytm liniowy jest bardzo zachowawczy – przybliża dane za pomocą prostej. Na obrazie zobaczymy rozmycie krawędzi. Co możemy zrobić? Ano możemy wziąć bardziej skomplikowaną funkcję, czyli na przykład funkcję kwadratową, albo sześcienną. W pierwszym przypadku do obliczeń wchodzą 3 punkty, w drugim 4.
Jeśli weźmiemy algorytm kwadratowy to interpolowana wartość dla x1, x2 i x4 wynosi 8,3 a dla x2,x4 i x5 wynosi 4,6. Jak widać w obu przypadkach algorytm lepiej oddaje rzeczywistość, czyli krawędź która prawdopodobnie była na zdjęciu. Algorytm sześcienny w tym przypadku głupieje, bo podaje wartość -6,2, co pokazuje, że akurat wielomiany wysokich stopni umiarkowanie nadają się do interpolowania funkcji, które nie są gładkie, czyli mają duże skoki (krawędzie w obrazach).
Tan przydługi już wywód zakładał tylko jeden rodzaj interpolacji – wielomianami i na dodatek tylko w jednym a nie dwóch wymiarach. W praktyce raczej stosuje się sinusy i cosinusy, choćby dlatego, że później używane są one również w algorytmie kompresji JPG.
Teraz odpowiednio stosując rodzaj interpolacji można lepiej lub gorzej przybliżać ostre skoki w sygnale (obrazie). Wachlując parametrami interpolacji (stopniem wielomianu, ilością funkcji sin(kx) itp) można lepiej lub gorzej odzyskiwać dane jakie utraciliśmy przez samą naturę próbkowania cyfrowego. Nie wiem tego na 100%, ale logiczne jest, że algorytm wyostrzania w lustrzance ingeruje w najsensowniejszym momencie – w czasie interpolacji. Choćby dlatego, że wtedy mamy najmniej danych, więc najłatwiej (najszybciej) jest przeprowadzić obliczenia. Na 100% tego nie wiem, bo oczywiście algorytmy konwersji obrazu z matrycy są tajemnicą konkretnych firm.

johnas wrote:
Jeśli nawet soczewki,to matryca rejestruje obraz już rozmyty i oprogramowanie może jedynie wyostrzyc przez podbibie kontrastu krawędzi,bo nie zna takiego samego obrazu nierozmytego z prawidłową ostrością.
Dlatego zgodzę się z pierwszą teorią,że wyostrzenie programem (w aparacie lub na komputerze) to zabieg destrukcyjny i nie mający nic wspólnego z prawdziwą ostrością.
Prawdziwa ostrośc to jedynie dobry,ostry obiektyw.

No nie do końca. Bo nawet najostrzejszy obiektyw padnie jeśli algorytm interpolujący dane jest do bani. Zresztą w czasach analogowych istniało coś takiego jak równanie zdolności rozdzielczej, które szło mniej więcej tak:
1/R=1/Rf+1/Ro
gdzie R to rozdzielczość całkowita, Ro rozdzielczość obiektywu, Rf – rozdzielczość filmu. Różne źródła podają różnie, Kodak podnosi wartości w mianowniku do kwadratu, Fuji podaje takie wartości. Przepuszczenie tego przez Exela jest wielce pouczające, bo pokazuje, że rozdzielczość układu optycznego jest wypadkową rozdzielczości wszystkich podzespołów i wcale nie jest tak, że jeśli obiektyw daje 200 lp/mm a film 100 lp/mm to rozdzielczość układu wyniesie 100 lp/mm (według Fuji 66 lp/mm, według Kodaka 89 lp/mm).

Z pewnością istnieje coś takiego w dobie cyfrowej choć jeszcze nie udało mi się dotrzeć do literatury na ten temat, a doktorzy z Politechniki Warszawskiej zajmujący się optyką na szybko nie potrafili odpowiedzieć na pytanie czy istnieje odpowiednik równania zdolności rozdzielczej dla aparatów cyfrowych i jak je jeść jeśli jest.