Một tệp RAW chưa được xử lý trông như thế nào?


86

Tôi biết mọi người sử dụng phần mềm ưa thích như Lightroom hoặc Darktable để xử lý hậu kỳ các tệp RAW của họ. Nhưng nếu tôi không thì sao? Các tập tin trông như thế nào, chỉ, bạn biết, RAW ?


21
Ma trận. Nó trông giống như ma trận.
Hueco

2
Liên quan; Tệp RAW lưu 3 màu trên mỗi pixel hoặc chỉ một? Tại sao Đỏ, Xanh lục và Xanh lam là màu chính của ánh sáng? trong đó giải thích cách các cảm biến máy ảnh kỹ thuật số khai thác cách thức hoặc mắt / bộ não cảm nhận màu sắc mà theo một nghĩa nào đó không thực sự tồn tại theo cách chúng ta thường cho là như vậy.
Michael C

3
@Hueco, một ma trận của Bayer, có lẽ.
Đánh dấu

Tôi đã chuyển cuộc thảo luận về cách tốt nhất để xử lý vấn đề này như một câu hỏi kinh điển để trò chuyện . Chúng ta hãy tiếp tục ở đó để chúng ta không có tiếng ồn trong các bình luận cho dù quyết định cuối cùng là gì.
AJ Henderson

1
Những gì nó trông không giống là "hình ảnh thô ngoài máy ảnh" mà nhiều người dường như nghĩ rằng họ có khi họ mở một tệp hình ảnh thô trong một ứng dụng xử lý thô. Đó là cơ sở cho câu hỏi này.
Michael C

Câu trả lời:


185

Có một công cụ gọi là dcraw đọc các loại tệp RAW khác nhau và trích xuất dữ liệu pixel từ chúng - đó thực sự là mã gốc ở dưới cùng của rất nhiều phần mềm chuyển đổi RAW thương mại.

Tôi có một tệp RAW từ máy ảnh của mình và tôi đã sử dụng dcraw trong chế độ để bảo nó tạo ra một hình ảnh bằng cách sử dụng các giá trị 16 bit theo nghĩa đen, không được đánh giá từ tệp. Tôi đã chuyển đổi nó thành JPEG 8 bit để chia sẻ, sử dụng gamma cảm nhận (và thu nhỏ lại để tải lên). Trông như thế này:

dcraw -E -4

Rõ ràng kết quả là rất tối, mặc dù nếu bạn nhấp để mở rộng và nếu màn hình của bạn tốt, bạn có thể thấy một số gợi ý của một cái gì đó .

Đây là JPEG màu ngoài máy ảnh được hiển thị từ cùng một tệp RAW:

JPEG ngoài máy ảnh

(Nhân tiện ảnh: con gái tôi sử dụng máy ảnh của tôi, nhân tiện.)

Rốt cuộc không hoàn toàn tối. Các chi tiết về nơi chính xác tất cả dữ liệu được ẩn được bao phủ tốt nhất bằng một câu hỏi chuyên sâu , nhưng tóm lại, chúng ta cần một đường cong mở rộng dữ liệu qua phạm vi bóng tối và ánh sáng có sẵn trong JPEG 8 bit trên màn hình thông thường .

May mắn thay, chương trình dcraw có một chế độ khác chuyển đổi thành hình ảnh "hữu ích" hơn nhưng vẫn chưa được xử lý. Điều này điều chỉnh mức độ của màu đen tối nhất và màu trắng sáng nhất và sắp xếp lại dữ liệu một cách thích hợp. Nó cũng có thể tự động đặt cân bằng trắng hoặc từ cài đặt camera được ghi trong tệp RAW, nhưng trong trường hợp này tôi đã nói với nó là không , vì chúng tôi muốn kiểm tra xử lý ít nhất có thể.

Vẫn có sự tương ứng một-một giữa các hình ảnh trên cảm biến và pixel ở đầu ra (mặc dù một lần nữa tôi đã thu nhỏ điều này để tải lên). Trông như thế này:

dcraw -d -r 1 1 1 1

Bây giờ, điều này rõ ràng dễ nhận biết hơn như một hình ảnh - nhưng nếu chúng ta phóng to hình này (ở đây, vì vậy mỗi pixel thực sự được phóng to 10 ×), chúng ta thấy rằng tất cả đều ... chấm:

Thu phóng 10 ×

Đó là bởi vì cảm biến được bao phủ bởi một mảng bộ lọc màu - các bộ lọc nhỏ màu nhỏ kích thước của mỗi photosite. Bởi vì máy ảnh của tôi là máy ảnh Fujifilm, nên máy ảnh này sử dụng mẫu mà Fujifilm gọi là "X-Trans", trông giống như sau:

10 × xtrans

Có một số chi tiết về mẫu đặc biệt khá thú vị, nhưng nhìn chung nó không quá quan trọng. Hầu hết các máy ảnh ngày nay sử dụng một cái gì đó gọi là mẫu của Bayer (lặp lại cứ sau 2 × 2 thay vì 6 × 6). Cả hai mẫu có nhiều trang web lọc xanh hơn màu đỏ hoặc màu xanh. Mắt người nhạy cảm hơn với ánh sáng trong phạm vi đó và do đó sử dụng nhiều pixel hơn cho phép nhiều chi tiết hơn với ít nhiễu hơn.

Trong ví dụ trên, phần trung tâm là một mảng trời, có màu lục lam - trong RGB, có rất nhiều màu xanh lam và xanh lục không có nhiều màu đỏ. Vì vậy, các chấm tối là các vị trí bộ lọc màu đỏ - chúng tối vì khu vực đó không có nhiều ánh sáng trong các bước sóng đi qua bộ lọc đó. Dải chéo trên góc trên cùng bên phải là một chiếc lá màu xanh đậm, vì vậy trong khi mọi thứ hơi tối, bạn có thể thấy màu xanh lá cây - các khối lớn hơn 2 × 2 với mẫu cảm biến này - tương đối sáng nhất ở khu vực đó.

Vì vậy, dù sao, đây là phần 1: 1 (khi bạn nhấp để có phiên bản đầy đủ, một pixel trong ảnh sẽ là một pixel trên màn hình) của JPEG ngoài máy ảnh:

Xem hình ảnh ngoài camera 1: 1

... Và đây là cùng một khu vực từ chuyển đổi thang độ xám nhanh ở trên. Bạn có thể thấy quy định từ mẫu X-Trans:

Cắt 1: 1 của phiên bản dcraw -d -r 1 1 1 1

Chúng ta thực sự có thể lấy đó và tô màu các pixel để các pixel tương ứng với màu xanh lục trong mảng được ánh xạ tới các mức màu xanh lá cây thay vì xám, đỏ sang đỏ và xanh lam thành xanh lam. Điều đó cho chúng ta:

1: 1 với màu xtrans

... Hoặc, cho hình ảnh đầy đủ:

hình ảnh đầy đủ từ dcraw -d -r 1 1 1 1 với màu xtrans

Dàn diễn viên màu xanh lá cây rất rõ ràng, điều này không có gì đáng ngạc nhiên vì có nhiều pixel xanh hơn 2½ × so với màu đỏ hoặc xanh. Mỗi khối 3 × 3 có hai pixel màu đỏ, hai pixel màu xanh và năm pixel màu xanh lá cây. Để chống lại điều này, tôi đã thực hiện một chương trình mở rộng quy mô rất đơn giản mà biến mỗi người 3 × 3 khối vào một đơn pixel. Trong pixel đó, kênh màu xanh lá cây là mức trung bình của năm pixel màu xanh lá cây và kênh màu đỏ và màu xanh trung bình của hai pixel màu đỏ và màu xanh lam tương ứng. Điều đó cho chúng ta:

xtrans tô màu, khối ngây thơ

... mà thực sự không phải là một nửa xấu. Cân bằng trắng đã tắt, nhưng vì tôi cố tình quyết định không điều chỉnh cho điều đó, nên điều này không có gì bất ngờ. Đánh dấu "cân bằng trắng tự động" trong một chương trình hình ảnh sẽ bù đắp cho điều đó (như đã để cho dcraw đặt nó ở vị trí đầu tiên):

xtrans được tô màu, chặn khối ngây thơ + cấp độ tự động

Chi tiết không tuyệt vời so với các thuật toán phức tạp hơn được sử dụng trong máy ảnh và chương trình xử lý RAW, nhưng rõ ràng những điều cơ bản là có. Cách tiếp cận tốt hơn tạo ra hình ảnh đầy màu sắc bằng cách cân các giá trị khác nhau xung quanh từng pixel thay vì đi theo các khối lớn. Vì màu sắc thường thay đổi dần dần trong các bức ảnh, điều này hoạt động khá tốt và tạo ra hình ảnh trong đó hình ảnh có màu đầy đủ mà không làm giảm kích thước pixel. Ngoài ra còn có các thủ thuật thông minh để giảm các tạo tác cạnh, tiếng ồn và các vấn đề khác. Quá trình này được gọi là "khử màu", bởi vì mô hình của các bộ lọc màu trông giống như một bức tranh khảm.

Tôi cho rằng quan điểm này (nơi tôi không thực sự đưa ra quyết định nào và chương trình không làm gì tự động thông minh) có thể được định nghĩa là "giao diện mặc định chuẩn" của tệp RAW, do đó kết thúc nhiều đối số internet. Nhưng, không có tiêu chuẩn nào như vậy - không có quy tắc nào cho thấy cách giải thích "ngây thơ" đặc biệt này là đặc biệt.

Và, đây không phải là điểm khởi đầu duy nhất có thể. Tất cả các chương trình xử lý RAW trong thế giới thực đều có ý tưởng riêng về trạng thái mặc định cơ bản để áp dụng cho tệp RAW mới khi tải. Họ đã phải làm một cái gì đó (nếu không chúng ta sẽ có thứ tối tăm, vô dụng đó ở đầu bài này) và thông thường họ làm điều gì đó thông minh hơn chuyển đổi thủ công đơn giản của tôi, điều đó có ý nghĩa, vì dù sao điều đó cũng mang lại cho bạn kết quả tốt hơn.


4
Bức tranh đẹp. Và câu trả lời tuyệt vời.
Marc.2377


7

Tôi biết nó đã được trả lời khá tốt bởi mattdm, nhưng tôi chỉ nghĩ bạn có thể thấy bài viết này thú vị:

Di truyền dữ liệu: Máy ảnh kỹ thuật số hoạt động như thế nào

Trong trường hợp liên kết đi xuống, đây là một bản tóm tắt:

Mắt người nhạy cảm nhất với màu sắc trong vùng bước sóng màu xanh lá cây (trùng hợp với thực tế là mặt trời của chúng ta phát ra mạnh nhất ở vùng màu xanh lá cây).

Mắt máy ảnh (thiết bị ghép điện tích (CCD) hoặc chất bán dẫn oxit kim loại miễn phí (CMOS)) chỉ nhạy với cường độ ánh sáng, không màu.

Bộ lọc quang được sử dụng để lọc các bước sóng ánh sáng khác nhau. Ví dụ: bộ lọc thông xanh sẽ chỉ cho ánh sáng xanh đi qua.

Bộ lọc quang được sử dụng trong máy ảnh kỹ thuật số là kích thước của các cảm biến pixel riêng lẻ và được sắp xếp theo dạng lưới để khớp với mảng cảm biến. Các bộ lọc màu đỏ, xanh lá cây và xanh dương (giống như các tế bào hình nón của chúng ta) được sử dụng. Tuy nhiên, vì mắt chúng ta nhạy cảm hơn với màu xanh lá cây, bộ lọc mảng của Bayer có 2 bộ lọc pixel màu xanh lá cây cho mỗi pixel màu đỏ và màu xanh. Mảng Bayer có các bộ lọc màu xanh lá cây tạo thành một bàn cờ giống như mô hình, trong khi các bộ lọc màu đỏ và màu xanh chiếm các hàng xen kẽ.

Quay trở lại câu hỏi ban đầu của bạn: một tệp RAW chưa được xử lý trông như thế nào?

Nó trông giống như một mạng lưới rô trắng của hình ảnh gốc.

Phần mềm ưa thích để xử lý hậu kỳ các tệp RAW trước tiên áp dụng bộ lọc của Bayer. Nó trông giống như hình ảnh thực tế sau này, với màu sắc ở cường độ và vị trí chính xác. Tuy nhiên, vẫn có các tạo tác của lưới RGB từ bộ lọc của Bayer, vì mỗi pixel chỉ có một màu.

Có nhiều phương pháp để làm mịn tệp RAW được mã hóa màu. Làm mịn các pixel tương tự như làm mờ mặc dù vậy, làm mịn quá nhiều có thể là một điều xấu.

Một số phương pháp khử màu được mô tả ngắn gọn ở đây:

Hàng xóm gần nhất: Giá trị của một pixel (một màu) được áp dụng cho các lân cận có màu khác và các màu được kết hợp. Không có màu "mới" nào được tạo trong quy trình này, chỉ có các màu được cảm biến camera ban đầu cảm nhận.

Nội suy tuyến tính: ví dụ: lấy trung bình hai giá trị màu xanh liền kề và áp dụng giá trị màu xanh trung bình cho pixel màu xanh lục ở giữa các pixel màu xanh liền kề. Điều này có thể làm mờ các cạnh sắc nét.

Nội suy bậc hai và bậc ba: tương tự như phép nội suy tuyến tính, xấp xỉ bậc cao hơn cho màu ở giữa. Họ sử dụng nhiều điểm dữ liệu hơn để tạo ra sự phù hợp tốt hơn. tuyến tính chỉ nhìn vào hai, bậc hai ở ba và khối ở bốn để tạo ra một màu ở giữa.

Catmull-Rom Splines: tương tự như hình khối, nhưng có tính đến độ dốc của từng điểm để tạo ra màu ở giữa.

Half Cosine: được sử dụng như một ví dụ về phương pháp nội suy, nó tạo ra một nửa cosin giữa mỗi cặp màu giống nhau và có một đường cong được làm mịn giữa chúng. Tuy nhiên, như đã lưu ý trong bài viết, nó không cung cấp bất kỳ lợi thế nào cho mảng của Bayer do sự sắp xếp của các màu sắc. Nó tương đương với nội suy tuyến tính nhưng với chi phí tính toán cao hơn.

Phần mềm xử lý hậu kỳ cao cấp hơn có phương pháp khử màu tốt hơn và thuật toán thông minh. Ví dụ, họ có thể xác định các cạnh sắc nét hoặc thay đổi độ tương phản cao và duy trì độ sắc nét của chúng khi kết hợp các kênh màu.


-6

Tôi nghĩ rằng nhiều người tưởng tượng rằng các tệp thô chỉ đơn giản là một mảng các giá trị pixel nằm ngoài cảm biến camera. Có những trường hợp đây thực sự là trường hợp đó, và bạn phải cung cấp một số thông tin về cảm biến để cho phép phần mềm diễn giải hình ảnh. Nhưng nhiều máy ảnh tiêu dùng thường cung cấp "tệp thô" thực sự phù hợp với đặc điểm kỹ thuật của tệp TIFF (trong một số trường hợp, màu sắc có thể bị tắt). Người ta có thể thử bằng cách thay đổi phần mở rộng tệp thành ".tif" và xem điều gì xảy ra khi mở tệp. Tôi nghĩ rằng một số bạn sẽ có một bức tranh đẹp, nhưng không phải tất cả mọi người, bởi vì có sự khác biệt giữa cách các nhà quay phim khác nhau giải quyết điều này.

Một tệp TIFF thay vì "tệp thô thực" là một giải pháp tốt. Một tệp TIFF có thể có 16 bit mỗi màu. Đó là đủ cho tất cả các máy ảnh tôi biết.

Ed: Tôi tự hỏi tại sao câu trả lời này bị hạ thấp. Câu trả lời về cơ bản là chính xác (với sự bảo lưu cho thực tế là các nhà sản xuất máy ảnh không phải sử dụng cấu trúc TIFF, nhưng nhiều người trong số họ làm như vậy).

Về phần về mảng pixel ra khỏi cảm biến, sẽ không có gì vô lý khi mong đợi một cái gì đó như thế. Bởi vì đó là cách rất nhiều cảm biến bên ngoài thị trường máy ảnh tiêu dùng hoạt động. Trong những trường hợp này, Bạn phải cung cấp một tệp riêng mô tả cảm biến.

Nhân tiện, từ "RAW" được sử dụng bởi vì nó có nghĩa là chúng ta có được dữ liệu cảm biến chưa được xử lý. Nhưng thật hợp lý khi các nhà sản xuất máy ảnh sử dụng định dạng có cấu trúc thay vì các tệp thô thực sự. Bằng cách này, người chụp không cần phải biết chính xác dữ liệu cảm biến.


2
Tôi đã có các ứng dụng khôi phục tệp "phục hồi" các tệp .cr2 dưới dạng TIFF. Những tệp đó sẽ không mở bằng bất kỳ ứng dụng nào có thể hoạt động với TIFF. Việc thay đổi các phần mở rộng tệp trở lại .cr2 làm cho chúng hoàn toàn có thể sử dụng được các tệp .cr2.
Michael C

5
Điều đó không có nghĩa là các tệp RAW không thực sự sử dụng các thùng chứa định dạng TIFF - điều đó hoàn toàn chính xác. Chỉ là thứ bạn nhìn thấy có lẽ không phải là dữ liệu "RAW" theo nghĩa tôi đang tìm kiếm.
mattdm

2
Ok, để làm rõ, tệp sử dụng các cấu trúc từ định dạng tệp TIFF. Nhưng vì nó không hoạt động chính xác như thông số TIFF nói, nên nó không phải là tệp TIFF nghiêm ngặt. Nhưng vấn đề là thư viện TIFF có thể được sử dụng để đọc tệp. Người ta không phải làm mọi thứ từ đầu để đọc tệp đó.
Ulf Tennfors

5
Không ai có thể hiểu rằng tệp RAW sẽ là dữ liệu ngay lập tức khỏi cảm biến mà không có bất kỳ siêu dữ liệu nào như thời gian, thông tin máy ảnh, v.v. Nó cũng không làm giảm nguyên tắc khái niệm rằng dữ liệu đó "thẳng" khỏi cảm biến mà không xử lý hậu kỳ.
tên gì là

3
TIFF là một container, không thực sự là một định dạng hình ảnh. bạn có thể lưu trữ dữ liệu trong TIFF và vẫn có dữ liệu cảm biến thô thay vì hình ảnh mà bất kỳ ai không có kiến ​​thức cụ thể về máy ảnh đều có thể sử dụng.
THS
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.