Grzegorz Bednarski, Jan Kosmala DCRAW konwersja plików RAW. RAW Pojęcie RAW (ang. surowy) w fotografii cyfrowej określa się zapis aktualnego stanu matrycy. Pliki RAW przechowują 12 lub 14 bitów na piksel. Czasem nazywane są cyfrowym negatywem. Plik RAW jest po prostu zapisem wartości odczytanych na matrycy. Piksele na matrycy umieszczone są w następujący sposób: Co w powiększeniu wygląda następująco:
Jak widać mamy zaledwie ¼ informacji o kanale czerwonym, ¼ o niebieskim, i ½ o zielonym, co razem powoduje ze mamy ogólnie 1/3 potrzebnych informacji, reszta jest interpolowana na podstawie sąsiednich pikseli. W zasadzie każdy producent aparatów ma swoją własną implementację (albo nawet kilka) formatu i rozszerzeń z nimi powiązanych. Poniżej lista pochodząca z Wikipedii. Tabela Większość z wymienionych formatów jest wspierana przez DCRaw. Pełna lista na stronie autora programu. Stan na 10.06.2010 Producent Wspierane formaty Hasselblad.3fr Sony.arw,.srf,.sr2 Casio.bay Canon.crw,.cr2 Phase one.cap,.tif,.iiq,.eip Kodak.dcs,.dcr,.drf,.k25,.kdc,.tif Adobe.dng Epson.erf Imacom.fff Mamyia.mef Leaf.mos Minolta.mrw Nikon.net,.nrw Olympus.orf
Pentax.ptx,.pef,.dng Logitech.pxn Red.r3d Fuji.raf Panasonic.raw,.rw2 Leica.raw,.dng Razwor.rwz Sigma.x3f Czym jest DCRAW? Jest to zarówno program jak i biblioteka do konwersji plików RAW udostępniona jako Open Source. Program jest w całości napisany w C w taki sposób, że umożliwia sparametryzowanie go, które pozwala wykorzystać źródła w sposób obiektowy. Dzięki temu dostajemy naprawdę dobrą wydajne narzędzie. O jej jakości może świadczyć wykorzystanie kodu źródłowego w znanych programach takich jak ACDSee czy Adobe Photoshop. Funkcjonalność Dcraw jest programem konsolowym. Po wpisaniu w konsoli DCRaw otrzymujemy listę dostępnych funkcjonalności. Składnia poleceń wygląda następująco: OPCJE dcraw OPCJE PLIKI dcraw.exe -v IMG.CR2 wyświetla ustawienia użyte podczas konwersji. wynik: Loading Canon EOS 400D DIGITAL image from IMG_1581.CR2... Scaling with darkness 255, saturation 3726, and multipliers 2.630775 1.000000 1.249379 1.000000 AHD interpolation... Converting to srgb colorspace... Writing data to IMG_1581.ppm...
dcraw.exe -c IMG.CR2>Obrazek.ppm wypisuje dane obrazka na standardowe wyjście (należy przekierować do pliku) dcraw.exe -e IMG.CR2 zapisuje wbudowaną miniaturkę w formacie *.jpeg dcraw.exe -i IMG.CR2 wyświetla informacje o pliku (m.in. jakim aparatem zrobiono zdjęcie), nie konwertuje! wyniki: IMG_1581.CR2 is a Canon EOS 400D DIGITAL image. dcraw.exe -i -v IMG.CR2 wyświetla informacje o pliku oraz metadane (nie konwertuje!) wyniki: Filename: IMG.CR2 Timestamp: Sun Jun 06 12:14:45 2010 Camera: Canon EOS 400D DIGITAL Owner: unknown ISO speed: 200 Shutter: 1/1600.0 sec Aperture: f/4.0 Focal length: 145.0 mm Embedded ICC profile: no Number of raw images: 1 Thumb size: 3888 x 2592 Full size: 3948 x 2622 Image size: 3906 x 2602 Output size: 2602 x 3906 Raw colors: 3 Filter pattern: RGGBRGGBRGGBRGGB Daylight multipliers: 2.423860 0.921348 1.151113 Camera multipliers: 2153.000000 1024.000000 1565.000000 1024.000000
dcraw.exe +/- M włącza/wyłącza uzywanie macierzy kolorów zawartej w metadanych obrazka, działa tylko z RAW'ami z aparatów Olympus, Leaf, Phase One. -d tryb dokumentu, zapisuje wartości odczytane przez aparat w odcieniach szarości, bez interpolacji ale ze skalowaniem jasności dcraw.exe -D tryb dokumentu bez skalowania jasności, zapisuje wartości z RAWa takie jak były. Obraz ze skalowaniem jasności Obraz bez skalowania jasności dcraw.exe -P deadpixels.txt PLIK dcraw wykorzysta informacje o martwych pikselach zawarte w podanym pliku deadpixels.txt zamiast tych zawartych w.badpixels dcraw.exe -K darkframe.pgm PLIK od obrazu zawartego w podanym RAWie ostanie odjęta czarna klatka. Czarną klatkę wykonuje się robiąc zdjęcie w całkowitej ciemności i później wydobywa się ją z RAWa komendą: dcraw.exe -D -4 -j -t 0
lub dcraw.exe -s [0...N-1] PLIK dcraw.exe -s all PLIK jeżeli podany RAW zawiera N obrazów to opcja ta pozwala wydobyć poszczególne z nich lub wszystkie naraz. dcraw.exe -z PLIK zamiana czasu pliku na czas aparatu dcraw.exe -w PLIK wykorzystuje balans bieli przy konwersji, o ile to możliwe dcraw.exe -a PLIK uśrednia balans bieli całego obrazka Obraz bez uśredniania balansu bieli Obraz po uśrednieniu balansu bieli dcraw.exe -r R G B G PLIK
ustawia balans bieli wg podanych współczynników. Czwarty współczynnik powinien być identyczny jak drugi, gdyż opisuje ten sam współczynnik, jednak ta wartość musi być podana jako parametr. Współczynniki balansu bieli zaimplementowano jako mnożniki skalujące liniowo każdy z kanałów RGBG przez macierz Bayera. Dwie różne wartości współczynnika wynikają z ich różnego położenia w rozkładzie Bayera. O balansie bieli decyduje stosunek pomiędzy współczynnikami RGBG. Wartości 1 1 1 1 oznaczają konwersję bez zmiany ustawień balansu bieli. Przykłady wartości dla Canon EOS 400D: Z wbudowaną lampą: 2.395443 1.000000 1.253807 Światło fluorescencyjne: 1.783446 1.000000 1.997113 Pochmurny dzień: 2.336605 1.000000 1.334642 Poniżej obrazek po konwersji dla ustawień: 2.132483 0.99 1.480864 0.99, czyli dla światła dziennego z delikatną korektą barw. Obraz po uśrednianiu balansu bieli (automatyczne ustawienia) Obraz po uśrednieniu balansu bieli wg zadanych wartości dcraw.exe -S WARTOŚĆ PLIK koryguje nasycenie obrazu Nasycenie przyjmuje wartości (0.0,1.0) przy czym dla 1.0 jest już całkowicie czarne.
100 dcraw.exe -n WARTOŚĆ PLIK odszumianie falkowe przyjmuje wartości od 0 do Obraz bez odszumiania. Rozmiar pliku JPG ponad 7 MB Obraz po odszumianiu dla wartości 100. Rozmiar pliku JPG 3,5 MB dcraw.exe -H WARTOŚĆ PLIK operowanie na cieniach; przyjmuje wartości w zakresie 0-9 0 przytnij cienie (liniowo) 1 nie przycinaj cieni 2 analogicznie do wartości 0, jeśli jest ryzyko prześwietlenia pewnych obszarów 3 9 odzyskiwanie cieni
H = 0 H = 1 H = 2 H = 3 H = 7 H = 9 dcraw.exe -T WARTOŚĆ PLIK odwraca obraz o dany kąt T przyjmuje następujące wartości: 0 nie obraca 1 odbicie względem osi pionowej 2 odbicie względem osi poziomej 3 180 stopni 4 odbicie względem osi pionowej i obrót o 90 stopni zgodnie z ruchem wskazówek zegara
5 90 stopni, przeciwnie do ruchu wskazówek zegara 6 90 stopni, zgodnie z ruchem wskazówek zegara 7 odbicie względem osi pionowej i obrót o 90 stopni przeciwnie do ruchu wskazówek zegara 0 RAW 1 srgb dcraw.exe -o WARTOŚĆ PLIK konwersja RAWa do danej przestrzeni barw 2 Adobe RGB 3 Wide 4 ProPhoto 5 XYZ RAW RGB AdobeRGB Wide
ProPhoto XYZ dcraw.exe W PLIK nie rozjaśnia automatycznie (zachowuje oryginalną jasność) dcraw.exe b WARTOŚĆ PLIK dostosowanie jasności domyślna wartość to 1.0 b = 0 b = 1 b = 2 dcraw.exe g p ts PLIK korekcja nachylenia krzywej gamma dcraw.exe q WARTOŚĆ PLIK ustawia jakość interpolacji kolorów od 0 (najsłabsza jakość) do 3 (najlepsza jakość)
dcraw.exe h PLIK redukcja ilości kolorów o połowę dcraw.exe f PLIK interpolacja kolorów RGGB jako 4 kolory dcraw.exe 6 PLIK zapisuje plik jako 16-bitowy zamiast 8-bitowego dcraw.exe 4 PLIK zapisuje plik jako 16-bitowy, po liniowym skalowaniu korekcji gamma dcraw.exe T PLIK zapisuje wyjście jako plik TIFF zamiast PPM Przydatne linki http://www.cybercom.net/~dcoffin/dcraw/ - strona domowa programu http://www.rawness.es/dcraw/?lang=en skompilowane pod Windows źródła