W swojej pracy mam do czynienia z surowymi obrazami * .CR2 wykonanymi lustrzanką Canon w trybie raw. Kiedy czytam o formacie tutaj , byłem zaskoczony, że ma 4 IFDs TIFF), które zawierają oryginalny rozmiar JPEG b) JPEG Miniatura c) dane nieskompresowany RGB d) Lossless JPEG.
Moje wrażenie do tej pory było takie, że każdy plik RAW zarejestrowany przez aparat miałby dane Bayera RAW, tj. R, Gr, B, Gb, a także niektóre dane EXIF dotyczące ustawień przechwytywania z kamery itp.
Ale po przeczytaniu tej specyfikacji CR2 jestem nieco zdezorientowany, jak może mieć dane RGB, a nawet zaskakująco dane JPEG. Wydaje się, że są to dane po demozaikacji (uzyskanie brakujących danych pikseli R / G / B dla oryginalnego wzorca Bayera). W takim przypadku nie uważałbym * .CR2 za „prawdziwie surowe” dane. Dokonał demozaikacji przed zrzuceniem tak zwanego surowego pliku.
Czy coś brakuje?
Czy jakieś inne formaty Camera Raw (np. Nikon - * .NEF, Kodac - * .kdc, Pentax - * .ptx / pef, ...) zawierają prawdziwe nieprzetworzone dane Bayera bez żadnego przetwarzania?
źródło
Odpowiedzi:
Myślę, że zdecydowanie czegoś brakuje. Zastanów się: JPG służy do przechowywania (i zwykle kompresji, strat) obrazów. Dowolny obraz. Co to jest obraz? To świetny duży pakiet pikseli, gdy wszystko jest powiedziane i zrobione.
Sygnał wyjściowy z czujnika kamery jest również świetnym dużym pakietem pikseli. Zdarza się, że nie są pełnokolorowymi pikselami RGB, są to piksele monochromatyczne - to, czy jakikolwiek pojedynczy piksel reprezentuje RG lub B, zależy od jego położenia na znanym czujniku obrazu. Ale ich monochromatyczny, kolor podany według pozycji nie oznacza, że nie można ich skutecznie przechowywać w sposób JPG. Pakiet pikseli to pakiet pikseli i po co wymyślać koło ponownie?
Przyjrzyj się dokładniej dokumentowi. „Więc z siatką BAYER RG / GB, parzyste wiersze przeplatały dane HuffCode / Diff dla ... RGRGRG ..., podczas gdy nieparzyste wiersze to ... GBGBGB ...". Tak więc, surowe dane wyjściowe Bayera są przechowywane w formacie JPG. Bezstratnie jest powiedziane (inaczej mielibyśmy problem!) I prawdopodobnie na głębokości większej niż 8 bitów. Zbyt często gotujesz to, aby uzyskać przydatne zdjęcie.
Pozostałe obrazy JPG są używane do podglądu w aparacie, histogramu itp. Warto je gotować raz na zawsze, gdy robione jest zdjęcie, zamiast robić to w locie za każdym razem, gdy chcesz na nie spojrzeć. Oznacza to również, że komputer może wyłapać je w celach miniatur po rozładowaniu aparatu do komputera.
*** Z jakiegoś powodu nie mogę dodać komentarza, więc oto tutaj: Goldenmean, co sprawia, że myślisz, że istnieje problem z brakiem pełnych informacji RGB dla każdego piksela? Zakładając, że tworzysz format RAW i masz pomiar 128 z „czerwonej” komórki czujnika; możesz wybrać zapisanie tego jako 128.0,0 lub 128.188.108 lub, jeśli czujesz się mądry, 128, „dane z następnej komórki”, „dane z komórki później”, aby zaoszczędzić trochę miejsca. To naprawdę nie ma znaczenia. Zadaniem konwertera RAW jest śledzenie tego (chociaż jestem pewien, że programiści doceniliby to, gdybyś udokumentował, jak zdecydowałeś się przechowywać dane z czujnika) i zrobić z niego rzeczywisty obraz.
źródło
DNG zawiera bezstratną skalę szarości JPG o rozdzielczości 4 razy większej niż plik „jpg w kolorze ” normalnym . Czy teraz jest bardziej jasne?
Na czym polega problem z umieszczeniem 3 rodzajów czarnych piłek w koszyku, który ma pomieścić 3 kolorowe kulki ?
W pliku JPG nie ma kolorów, są tylko liczby, jak w każdym innym formacie pliku. I używają JPG, ponieważ łatwiej jest go zakodować w ten sposób, ponieważ procesor aparatu jest już stworzony do tworzenia takich plików.
Prawdopodobnie zapisaliby dane macierzy w formacie zip, rar, flac lub w innym bezstratnym formacie prawie w ten sam sposób. Wymagałoby to jednak szeregu algorytmów dodanych do oprogramowania kamery, które nie są potrzebne.
źródło