Seperti apa tampilan file RAW yang belum diproses?


86

Saya tahu orang-orang menggunakan perangkat lunak mewah seperti Lightroom atau Darktable untuk memproses file RAW mereka. Tetapi bagaimana jika saya tidak melakukannya? Seperti apa file itu, hanya, Anda tahu, RAW ?


21
Matriks. Sepertinya matriks.
Hueco

2
Terkait; File RAW menyimpan 3 warna per piksel, atau hanya satu? dan Mengapa Merah, Hijau, dan Biru adalah warna utama cahaya? yang menjelaskan bagaimana sensor kamera digital mengecilkan cara atau mata / otak melihat warna yang dalam arti tertentu sebenarnya tidak ada seperti yang sering kita asumsikan.
Michael C

3
@ Hueco, sebuah matriks Bayer, mungkin.
Tandai

Saya telah memindahkan diskusi tentang cara terbaik untuk menangani ini sebagai pertanyaan kanonik untuk mengobrol . Mari kita lanjutkan di sana sehingga kita tidak memiliki suara berisik di komentar apa pun keputusannya.
AJ Henderson

1
Apa yang tidak terlihat adalah "gambar mentah langsung dari kamera" yang tampaknya dipikirkan banyak orang ketika mereka membuka file gambar mentah dalam aplikasi pemrosesan mentah. Itulah dasar untuk pertanyaan ini.
Michael C

Jawaban:


185

Ada alat bernama dcraw yang membaca berbagai jenis file RAW dan mengekstraksi data piksel dari mereka - itu sebenarnya kode asli di bagian paling bawah dari banyak sumber terbuka dan bahkan perangkat lunak konversi RAW komersial.

Saya memiliki file RAW dari kamera saya, dan saya telah menggunakan dcraw dalam mode yang memberitahukannya untuk membuat gambar menggunakan nilai 16-bit literal dan tidak berskala dari file tersebut. Saya mengonversinya menjadi JPEG 8-bit untuk berbagi, menggunakan gamma persepsi (dan diperkecil untuk diunggah). Itu terlihat seperti ini:

dcraw -E -4

Jelas hasilnya sangat gelap, meskipun jika Anda klik untuk memperluas, dan jika monitor Anda adalah layak, Anda dapat melihat beberapa tanda-tanda sesuatu .

Berikut adalah JPEG warna di luar kamera yang diberikan dari file RAW yang sama:

JPEG di luar kamera

(Kredit foto: ngomong-ngomong, putri saya menggunakan kamera saya.)

Tidak sepenuhnya gelap. Rincian di mana tepatnya semua data disembunyikan sebaiknya dicakup oleh pertanyaan mendalam , tetapi singkatnya, kita membutuhkan kurva yang memperluas data pada rentang gelap dan cahaya yang tersedia dalam format JPEG 8-bit pada layar tipikal .

Untungnya, program dcraw memiliki mode lain yang mengkonversi gambar yang lebih "berguna" tetapi masih diproses. Ini menyesuaikan level hitam paling gelap dan putih paling terang dan mengubah skala data dengan tepat. Itu juga dapat mengatur white balance secara otomatis atau dari pengaturan kamera yang direkam dalam file RAW, tetapi dalam kasus ini saya sudah mengatakannya untuk tidak melakukannya, karena kami ingin memeriksa pemrosesan sekecil mungkin.

Masih ada korespondensi satu-ke-satu antara photosites pada sensor dan piksel dalam output (meskipun sekali lagi saya telah memperkecil ini untuk diunggah). Itu terlihat seperti ini:

dcraw -d -r 1 1 1 1

Sekarang, ini jelas lebih dikenali sebagai gambar - tetapi jika kita memperbesar ini (di sini, jadi setiap piksel sebenarnya diperbesar 10 ×), kita melihat bahwa itu semua ... dotty:

10x zoom dan potong

Itu karena sensor ditutupi oleh array filter warna - filter kecil berwarna kecil ukuran masing-masing photosite. Karena kamera saya adalah kamera Fujifilm, ini menggunakan pola panggilan Fujifilm "X-Trans", yang terlihat seperti ini:

10 × xtrans

Ada beberapa detail tentang pola tertentu yang agak menarik, tetapi secara keseluruhan itu tidak super penting. Sebagian besar kamera saat ini menggunakan sesuatu yang disebut pola Bayer (yang berulang setiap 2 × 2 daripada 6 × 6). Kedua pola memiliki lebih banyak situs filter hijau daripada merah atau biru. Mata manusia lebih sensitif terhadap cahaya dalam kisaran itu, dan karenanya menggunakan lebih banyak piksel untuk memungkinkan detail lebih banyak dengan lebih sedikit noise.

Pada contoh di atas, bagian tengah adalah sepetak langit, yang merupakan warna cyan - dalam RGB, itu banyak biru dan hijau tanpa banyak merah. Jadi titik-titik gelap adalah situs filter merah - mereka gelap karena area itu tidak memiliki banyak cahaya dalam panjang gelombang yang melewati filter itu. Strip diagonal di sudut kanan atas adalah daun hijau gelap, jadi sementara semuanya sedikit gelap Anda bisa melihat hijau - blok 2 × 2 yang lebih besar dengan pola sensor ini - relatif paling terang di area itu.

Jadi, bagaimanapun, inilah bagian 1: 1 (ketika Anda mengklik untuk mendapatkan versi lengkap, satu piksel dalam gambar akan menjadi satu piksel pada layar) bagian dari JPEG di luar kamera:

1: 1 melihat pemangkasan gambar di luar kamera

... dan inilah area yang sama dari konversi skala abu-abu di atas. Anda dapat melihat penetapan dari pola X-Trans:

Pangkas 1: 1 dari versi dcraw -d -r 1 1 1 1

Kita benar-benar dapat mengambil dan mewarnai piksel sehingga yang terkait dengan hijau dalam array dipetakan ke level hijau, bukan abu-abu, merah ke merah, dan biru ke biru. Itu memberi kita:

1: 1 dengan pewarnaan xtrans

... atau, untuk gambar penuh:

gambar penuh dari dcraw -d -r 1 1 1 1 dengan pewarnaan xtrans

Para pemain hijau sangat jelas, yang tidak mengejutkan karena ada 2½ × lebih banyak piksel hijau daripada merah atau biru. Setiap blok 3 × 3 memiliki dua piksel merah, dua piksel biru, dan lima piksel hijau. Untuk mengatasi ini, saya membuat program penskalaan yang sangat sederhana yang mengubah masing-masing blok 3 × 3 menjadi satu piksel. Dalam piksel itu, saluran hijau adalah rata-rata dari lima piksel hijau, dan saluran merah dan biru rata-rata dari dua piksel merah dan biru yang sesuai. Itu memberi kita:

xtrans berwarna, blok demosaicking naif

... yang sebenarnya tidak terlalu buruk. Keseimbangan putih tidak aktif, tetapi karena saya sengaja memutuskan untuk tidak menyesuaikan untuk itu, ini tidak mengejutkan. Menekan "keseimbangan putih otomatis" dalam program pencitraan mengkompensasi hal itu (seperti yang akan membiarkan dcraw menyetelnya di tempat pertama):

xtrans berwarna, memblokir naif demosaicking + auto-level

Detail tidak terlalu bagus dibandingkan dengan algoritma yang lebih canggih yang digunakan dalam kamera dan program pemrosesan RAW, tetapi dasar-dasarnya jelas ada. Pendekatan yang lebih baik membuat gambar penuh warna dengan menimbang nilai yang berbeda di sekitar setiap piksel daripada pergi dengan blok besar. Karena warna biasanya berubah secara bertahap dalam foto, ini berfungsi dengan cukup baik dan menghasilkan gambar yang gambarnya berwarna penuh tanpa mengurangi dimensi piksel. Ada juga trik pintar untuk mengurangi artefak tepi, kebisingan, dan masalah lainnya. Proses ini disebut "demosaicing", karena pola filter berwarna terlihat seperti mosaik ubin.

Saya kira pandangan ini (di mana saya tidak benar-benar membuat keputusan, dan program tidak melakukan apa pun secara otomatis pintar) dapat didefinisikan sebagai "penampilan standar standar" dari file RAW, sehingga mengakhiri banyak argumen internet. Tapi, tidak ada standar seperti itu - tidak ada aturan bahwa interpretasi "naif" ini istimewa.

Dan, ini bukan satu-satunya titik awal yang mungkin. Semua program pemrosesan RAW dunia nyata memiliki ide sendiri tentang keadaan standar dasar untuk diterapkan ke file RAW yang baru saat dimuat. Mereka harus melakukan sesuatu (kalau tidak kita akan memiliki hal yang gelap dan tidak berguna di bagian atas posting ini), dan biasanya mereka melakukan sesuatu yang lebih pintar daripada konversi manual sederhana saya, yang masuk akal, karena itu tetap memberikan Anda hasil yang lebih baik.


4
Gambar yang indah. Dan jawaban yang bagus.
Marc.2377


7

Saya tahu itu sudah dijawab dengan baik oleh mattdm, tapi saya pikir Anda mungkin menemukan artikel ini menarik:

Genetika Data: Bagaimana Kamera Digital Bekerja

Jika tautannya turun, berikut ini ringkasannya:

Mata manusia paling peka terhadap warna di wilayah panjang gelombang hijau (bertepatan dengan fakta bahwa matahari kita memancarkan paling intens di wilayah hijau).

Mata kamera (charge coupled device (CCD) atau semikonduktor oksida logam (CMOS)) peka hanya terhadap intensitas cahaya, bukan pada warna.

Filter optik digunakan untuk menyaring berbagai panjang gelombang cahaya. Misalnya, filter lulus hijau hanya akan membiarkan lampu hijau masuk.

Filter optik yang digunakan dalam kamera digital adalah ukuran masing-masing sensor piksel, dan disusun dalam kisi agar sesuai dengan larik sensor. Filter merah, hijau dan biru (seperti sel kerucut kami) digunakan. Namun, karena mata kita lebih peka terhadap hijau, filter array Bayer memiliki 2 filter piksel hijau untuk setiap piksel merah dan biru. Array Bayer memiliki filter hijau yang membentuk pola kotak-kotak seperti, sedangkan filter merah dan biru menempati baris bergantian.

Kembali ke pertanyaan awal Anda: seperti apa tampilan file RAW yang belum diproses?

Itu tampak seperti kisi kotak-kotak hitam putih dari gambar asli.

Perangkat lunak mewah untuk pasca-pemrosesan file RAW pertama kali menerapkan filter Bayer. Ini lebih mirip gambar sebenarnya setelah ini, dengan warna dalam intensitas dan lokasi yang benar. Namun, masih ada artefak dari grid RGB dari filter Bayer, karena setiap piksel hanya satu warna.

Ada berbagai metode untuk menghaluskan file kode warna RAW. Merapikan piksel sama dengan mengaburkan, jadi terlalu banyak merapikannya bisa menjadi hal yang buruk.

Beberapa metode demosaicing dijelaskan secara singkat di sini:

Tetangga Terdekat: Nilai piksel (satu warna) diterapkan pada tetangga berwarna lainnya dan warna digabungkan. Tidak ada warna "baru" yang dibuat dalam proses ini, hanya warna yang semula dirasakan oleh sensor kamera.

Interpolasi Linear: misalnya, rata-rata dua nilai biru yang berdekatan dan menerapkan nilai biru rata-rata untuk piksel hijau di antara piksel biru yang berdekatan. Ini dapat mengaburkan tepi yang tajam.

Interpolasi kuadrat dan kubik: mirip dengan interpolasi linier, perkiraan orde yang lebih tinggi untuk warna di antaranya. Mereka menggunakan lebih banyak titik data untuk menghasilkan kecocokan yang lebih baik. linear hanya terlihat pada dua, kuadratik pada tiga, dan kubik pada empat untuk menghasilkan di antara warna.

Catmull-Rom Splines: mirip dengan kubik, tetapi mempertimbangkan gradien setiap titik untuk menghasilkan warna di antaranya.

Half Cosine: digunakan sebagai contoh metode interpolasi, itu menciptakan setengah cosinus antara setiap pasangan warna-suka dan memiliki kurva infleksi yang halus di antara mereka. Namun, sebagaimana disebutkan dalam artikel, itu tidak menawarkan keuntungan untuk array Bayer karena pengaturan warna. Ini setara dengan interpolasi linier tetapi dengan biaya komputasi yang lebih tinggi.

Perangkat lunak pasca-pemrosesan akhir yang lebih tinggi memiliki metode demosaicing yang lebih baik dan algoritma pintar. Misalnya, mereka dapat mengidentifikasi tepi tajam atau perubahan kontras tinggi dan mempertahankan ketajamannya saat menggabungkan saluran warna.


-6

Saya pikir banyak orang membayangkan bahwa file mentah hanyalah sebuah array nilai piksel langsung dari sensor kamera. Ada kasus-kasus di sana ini benar-benar terjadi, dan Anda harus menyediakan beberapa informasi tentang sensor untuk membiarkan perangkat lunak menginterpretasikan gambar. Tetapi banyak kamera konsumen biasanya memberikan "file mentah" yang sebenarnya kurang lebih sesuai dengan spesifikasi file TIFF (dalam beberapa kasus, warna mungkin tidak aktif). Seseorang dapat mencoba dengan hanya mengubah ekstensi file ke ".tif" dan melihat apa yang terjadi ketika membuka file. Saya pikir beberapa dari Anda akan melihat gambar yang bagus, tetapi tidak semua orang, karena ada perbedaan antara bagaimana kamera yang berbeda menyelesaikan ini.

File TIFF alih-alih "file mentah nyata" adalah solusi yang baik. File TIFF dapat memiliki 16 bit per warna. Itu cukup untuk semua kamera yang saya tahu.

Ed: Saya heran mengapa jawaban ini diturunkan. Jawabannya pada dasarnya benar (dengan reservasi untuk fakta bahwa produsen kamera tidak harus menggunakan struct TIFF, tetapi banyak dari mereka melakukannya).

Tentang bagian tentang array piksel langsung dari sensor, tidak konyol untuk mengharapkan sesuatu seperti itu. Karena begitulah banyak sensor di luar pasar kamera konsumen bekerja. Dalam kasus ini, Anda harus menyediakan file terpisah yang menjelaskan sensor.

Ngomong-ngomong, kata "RAW" digunakan karena itu berarti kita mendapatkan data sensor yang tidak diproses. Namun masuk akal jika produsen kamera menggunakan format terstruktur alih-alih file mentah secara nyata. Dengan cara ini fotografer tidak perlu mengetahui data sensor yang tepat.


2
Saya memiliki aplikasi pemulihan file yang "memulihkan" file .cr2 sebagai TIFFs. File-file itu tidak akan terbuka menggunakan aplikasi apa pun yang dapat bekerja dengan TIFF. Mengubah ekstensi file kembali ke .cr2 menjadikannya file .cr2 yang dapat digunakan dengan sempurna.
Michael C

5
Itu bukan untuk mengatakan bahwa file RAW tidak sering benar-benar menggunakan wadah format TIFF - itu benar sekali. Hanya saja hal yang Anda lihat mungkin bukan data "RAW" dalam arti yang saya cari.
mattdm

2
Oke, untuk memperjelas, file menggunakan struktur dari format file TIFF. Tetapi karena itu tidak melakukan persis seperti spesifikasi TIFF mengatakan, itu bukan file TIFF yang ketat. Tetapi intinya adalah bahwa perpustakaan TIFF dapat digunakan untuk membaca file. Seseorang tidak harus membuat semuanya dari awal untuk membaca file itu.
Ulf Tennfors

5
Tidak seorang pun dengan akal yang mengharapkan file RAW menjadi data langsung dari sensor tanpa metadata apa pun seperti waktu, informasi kamera, dll. Fakta bahwa format seperti TIFF berguna untuk menyusun data tidak terlalu penting, juga tidak mengurangi prinsip konseptual bahwa data "lurus" dari sensor tanpa pemrosesan pasca.
whatsisname

3
TIFF adalah wadah, bukan format gambar. Anda dapat menyimpan data di TIFF dan masih menyimpannya sebagai data sensor mentah, bukan gambar yang dapat digunakan oleh siapa pun tanpa pengetahuan khusus kamera.
ths
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.