Biorąc pod uwagę, że głównym celem demozaikowania jest jak najdokładniejsze odtworzenie kolorów, czy byłaby jakaś korzyść z algorytmu demozaicznego „tylko czarno-białe”? To znaczy, zamiast najpierw odzyskać kolor, a następnie przekonwertować czarno-biały, czy lepiej byłoby przekonwertować plik RAW bezpośrednio na czarno-biały?
Szczególnie interesuje mnie jakość obrazu (np. Zakres dynamiczny i ostrość). W pokrewnej notatce, które popularne algorytmy demosicing są najbardziej podatne na konwersję czarno-białą?
black-and-white
algorithms
demosaicing
Lars Kotthoff
źródło
źródło
Odpowiedzi:
Nie ma możliwości przekonwertowania pliku RAW bezpośrednio na czarno-biały bez uprzedniego odzyskania koloru, chyba że konwerter pobiera tylko jeden zestaw pikseli R, G, B do wytworzenia obrazu. Takie podejście spowodowałoby znaczną utratę rozdzielczości.
Aby nie stracić rozdzielczości podczas konwersji do czerni i bieli, musisz użyć wszystkich pikseli RG i B, co domyślnie oznacza, że należy wykonać obliczenia kolorów, w którym to momencie możesz równie dobrze skorzystać z jednego z zaawansowanych algorytmów odwzorowywania kolorów, a następnie przekonwertować wynik w czerni i bieli.
źródło
Potrzebujesz algorytmu demosaic, nawet jeśli konwertujesz obraz na czarno-biały.
Powód tego jest dość prosty - w przeciwnym razie można uzyskać wszędzie subpiksele. Musisz zdać sobie sprawę, że obraz zarejestrowany przez czujnik jest dość nieuporządkowany. Rzućmy okiem na próbkę z Wikipedii :
Teraz wyobraź sobie, że nie przeprowadzamy żadnych zmian ustawień i po prostu przekształcamy RAW w skalę szarości:
Cóż ... widzisz czarne dziury? Czerwone piksele nie zarejestrowały niczego w tle.
Porównajmy to teraz z obrazem w formacie odszyfrowanym przekonwertowanym na skalę szarości (po lewej):
Zasadniczo tracisz szczegóły, ale także tracisz wiele artefaktów, które sprawiają, że obraz jest raczej nie do zniesienia. Pomijanie obrazu przy pomniejszaniu również traci duży kontrast ze względu na sposób wykonania konwersji czarno-białej. Wreszcie odcienie kolorów pomiędzy kolorami podstawowymi mogą być reprezentowane w dość nieoczekiwany sposób, podczas gdy duże powierzchnie czerwieni i niebieskiego będą puste 3/4.
Wiem, że jest to uproszczenie i możesz dążyć do stworzenia algorytmu, który jest po prostu: bardziej wydajny w konwersji RAW do czarno-białej, ale mam na myśli, że:
Aby wygenerować prawidłowe odcienie szarości na zdjęciu czarno-białym, potrzebujesz obliczonego obrazu kolorowego.
Dobrym sposobem na robienie zdjęć czarno-białych jest całkowite usunięcie tablicy filtrów kolorów - jak to zrobiła Leica w Monochromie - a nie zmiana konwersji RAW. W przeciwnym razie otrzymasz artefakty lub fałszywe odcienie szarości lub zmniejszysz rozdzielczość lub wszystkie z nich.
Dodaj do tego fakt, że konwersja RAW-> Bayer-> B&W daje o wiele więcej opcji ulepszania i edytowania obrazu, a masz całkiem doskonałe rozwiązanie, które można obalić tylko dzięki dedykowanej konstrukcji czujnika. Dlatego nie widzisz dedykowanych konwerterów czarno-białych RAW, które nie popadłyby w demosykację gdzieś w tym procesie.
źródło
Kamery z wizją maszynową z filtrami Bayera mogą bezpośrednio wyświetlać obrazy w skali szarości, ale robi to poprzez demaskowanie, konwersję do YUV i wysyłanie tylko kanału V (tych, których zwykle używam). Gdyby mieli lepszy sposób na ominięcie tej rekonstrukcji kolorów, myślę, że tak, ponieważ ciągle przesuwają liczbę klatek na sekundę (typowa kamera, której używam, działa na przykład z prędkością 100 klatek na sekundę).
Gdyby zignorował demosikowanie oparte na kolorach, mogłoby to zmniejszyć o połowę rozdzielczość i średnią ważoną każdego kwadratu 2x2, ale jeśli chcesz uzyskać pełną rozdzielczość, lepiej jest użyć normalnego algorytmu usuwania koloru, który próbuje lepiej zachować krawędzie. Jeśli wiemy, że chcemy w skali szarości, od samego początku otrzymujemy kamerę monochromatyczną, stukamy w filtr kolorów, jeśli szukamy określonego koloru, ponieważ ta konfiguracja jest znacznie lepsza pod względem jakości obrazu, zmniejszając potrzebę nadpróbkowania rozdzielczości, co z kolei pozwala zastosowanie szybkiego czujnika o niskiej rozdzielczości z większymi pikselami, co z kolei daje jeszcze lepszy obraz.
źródło
Wpływ filtrów kolorów na każdy dołek pikselowy w warstwie Bayera jest taki sam, jak w przypadku filmowania czarno-białego za pomocą filtrów kolorów na obiektywie: zmienia to zależność poziomów szarości różnych kolorów w fotografowanej scenie. Aby uzyskać dokładny poziom luminancji dla wszystkich kolorów w scenie, sygnały z każdego piksela muszą zostać usunięte. Jak wspomnieli inni, czujnik bez warstwy Bayera dałby obraz monochromatyczny, który nie musi być demoskowany. Powinno to zapewnić lepszą ostrość obrazu, jeśli krąg pomieszania z obiektywem jest równy lub mniejszy niż szerokość każdego piksela.
W praktyce zauważyłem kilka rzeczy przekształcających pliki RAW w monochromatyczne za pomocą programu Canon Photo Digital Professional (DPP).
Poniżej znajdują się dwie wersje tej samej ekspozycji zarejestrowane na Canonie 7D z obiektywem EF 70-200 mm f / 2.8L IS II i telekonwerterem Kenco C-AF 2X Teleplus Pro 300. Obraz został przycięty do 1000 x 1000 pikseli. Pierwszy został przekonwertowany przy użyciu ustawień w aparacie pokazanych poniżej. Drugi edytowano z ustawieniami pokazanymi na zrzucie ekranu. Oprócz zakładki RAW zastosowano ustawienie 2 redukcji luminancji, podobnie jak wartość aberracji chromatycznej 99.
źródło
Zaproponowałbym taki algorytm (zakłada, że twój cel jest biały i ma stałą temperaturę barwową):
Teoretycznie zbliżyłoby się to do wyników prawdziwego czujnika monochromatycznego.
źródło