Định dạng Canon * .CR2 / CRW có chứa dữ liệu thực sự RAW RAW không?


11

Trong công việc của tôi, tôi đang xử lý các ảnh thô * .CR2 được chụp bởi một máy ảnh DSLR của Canon ở chế độ thô. Khi tôi đọc về định dạng ở đây , tôi đã rất ngạc nhiên khi thấy rằng nó có 4 TIFF IFD chứa a) Hình ảnh JPEG kích thước gốc b) Hình ảnh JPEG hình thu nhỏ c) Dữ liệu RGB không nén d) Hình ảnh JPEG không mất dữ liệu.

Ấn tượng của tôi cho đến bây giờ là bất kỳ máy ảnh nào được chụp tập tin ảnh RAW sẽ có Dữ liệu thô của Bayer, ví dụ như dữ liệu bayer R, Gr, B, Gb và một số dữ liệu EXIF ​​về cài đặt chụp máy ảnh, v.v.

Nhưng sau khi đọc thông số kỹ thuật CR2 này, tôi hơi bối rối về việc làm thế nào nó có thể có dữ liệu RGB hoặc dữ liệu JPEG đáng ngạc nhiên. Đây dường như là dữ liệu sau khi khử màu (lấy dữ liệu pixel R / G / B bị thiếu cho mẫu cảm biến ban đầu của mẫu cảm biến). Nếu đó là trường hợp tôi sẽ không coi * .CR2 là dữ liệu "thực sự thô". Nó đã thực hiện việc khử màu trước khi bỏ tập tin thô.

Tui bỏ lỡ điều gì vậy?

Có bất kỳ định dạng Camera Raw nào khác (ví dụ: Nikon - * .NEF, Kodac - * .kdc, Pentax - * .ptx / pef, ...) có dữ liệu bayer thô thực sự mà không cần xử lý không?


2
Trang bạn liên kết để nói rằng nó có chứa mẫu của Bayer, vì vậy, có, nó có mẫu của Bayer.

Liên kết về định dạng bị phá vỡ
Pedro77 26/07/19

Câu trả lời:


11

Tôi nghĩ rằng bạn chắc chắn đang thiếu một cái gì đó. Xem xét: JPG được sử dụng để lưu trữ (và thường nén, mất hình ảnh). Bất kỳ hình ảnh. Một hình ảnh là gì? Đó là một bó pixel lớn, khi tất cả được nói và thực hiện.

Đầu ra từ cảm biến máy ảnh cũng là một bó pixel lớn. Chúng chỉ là các pixel RGB đủ màu, chúng là các pixel đơn sắc - cho dù bất kỳ pixel riêng lẻ nào đại diện cho RG hay B đều phụ thuộc vào vị trí của nó trên cảm biến hình ảnh, được biết đến. Nhưng tính chất đơn sắc, màu sắc theo vị trí của chúng không có nghĩa là chúng không thể được lưu trữ hữu ích theo cách JPG. Một bó pixel là một bó pixel và tại sao lại phát minh lại bánh xe?

Nhìn kỹ hơn vào tài liệu. "Vì vậy, với lưới BAYER của RG / GB, các hàng chẵn đã xen kẽ dữ liệu HuffCode / Diff cho ... RGRGRG ..., trong khi các hàng lẻ là ... GBGBGB ...". Vì vậy, đầu ra thô của Bayer được lưu trữ ở định dạng JPG. Mất mát, nó được tuyên bố (nếu không chúng tôi sẽ có một vấn đề!) Và có lẽ ở độ sâu hơn 8 bit. Bạn đã nấu quá nhiều thứ này để có được một bức ảnh hữu ích từ nó.

Các hình ảnh JPG khác được sử dụng để xem trước trong máy ảnh, biểu đồ và như vậy. Thật tốt khi nấu những thứ này một lần và mãi mãi như hình ảnh được chụp, thay vì phải thực hiện nó một cách nhanh chóng mỗi khi bạn muốn nhìn vào chúng. Điều này cũng có nghĩa là máy tính có thể loại bỏ chúng cho mục đích thu nhỏ khi bạn dỡ máy ảnh vào PC.

*** Tôi không thể thêm nhận xét vì một số lý do, vì vậy điều này xuất hiện ở đây: Goldenmean, điều gì khiến bạn nghĩ rằng có một vấn đề là bạn không có thông tin RGB đầy đủ cho mỗi pixel? Giả sử rằng bạn đang tạo định dạng RAW và có số đo 128 từ ô cảm biến "đỏ"; bạn có thể chọn lưu trữ dữ liệu này dưới dạng 128,0,0 hoặc 128,128,128 hoặc, bạn cảm thấy thông minh, 128, "dữ liệu từ ô tiếp theo", "dữ liệu từ ô sau đó" để tiết kiệm không gian. Không quan trọng thực sự. Đây là công việc của trình chuyển đổi RAW để theo dõi điều này (mặc dù tôi chắc rằng các lập trình viên sẽ đánh giá cao nếu bạn ghi lại cách bạn chọn lưu trữ dữ liệu cảm biến của mình) và tạo một hình ảnh thực tế từ nó.


2
Định dạng JPG mất dữ liệu mà tất cả chúng ta đều quen thuộc rõ ràng khá khác biệt so với lược đồ "Lossless JPEG" được đặt tên khó hiểu được sử dụng trong các tệp thô này.
Lyman Enders Knowles

2
@ Lyman: Vâng, đúng vậy. Ví dụ, nó cũng được sử dụng trong DNG, se more: en.wikipedia.org/wiki/Lossless_JPEG
Guffa

Tôi hiểu - 'mọi thứ đều là pixel' và 'codec JPEG lossless' nhưng vẫn còn câu hỏi, làm thế nào nó có thể có 3 thành phần cho mỗi pixel được lưu trữ ở dạng thô. Cảm biến không cung cấp bộ ba cho mỗi pixel vật lý, nhưng nó chỉ cung cấp một trong 3 (R, G hoặc B), không phải cả 3 định dạng mà các định dạng dường như đang lưu trữ cho eack pixel .. Đó là qn.
Goldenmean

2

DNG chứa JPG màu xám lossless với độ phân giải cao gấp 4 lần so với tệp jpg màu " bình thường ". Bây giờ thì rõ hơn chưa?

Vấn đề trong việc đặt 3 loại bóng đen trong một cái chậu có nghĩa là giữ 3 quả bóng màu là gì?

Trong tệp JPG không có màu, chỉ có số, như trong bất kỳ định dạng tệp nào khác. Và họ sử dụng JPG vì việc mã hóa nó theo cách này dễ dàng hơn, bởi vì bộ xử lý máy ảnh đã được tạo để tạo các tệp như vậy.

Họ có thể sẽ ghi dữ liệu ma trận vào zip, rar, flac hoặc bất kỳ định dạng lossless nào khác theo cách tương tự. Nhưng điều đó sẽ đòi hỏi một loạt các thuật toán được thêm vào phần mềm của máy ảnh, điều đó không cần thiết.


Tôi bối rối trước lời giải thích của bạn. liên kết không còn hoạt động, nhưng OP chỉ ra rằng có các tệp TIFF. Nếu máy ảnh có thể tạo các tệp TIFF, thì tại sao nó cần mã hóa dữ liệu thô thành JPG? Mất dữ liệu JPG có nghĩa là không có dữ liệu bị mất khi nén, nhưng điều đó không nhất thiết có nghĩa là việc chuyển đổi từ dữ liệu ma trận thô thành JPG không biến đổi hoặc mất thông tin theo một cách nào đó, phải không?
MikeW
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.