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.