Liệu chi tiết trong một hình ảnh có ảnh hưởng đến tập tin hình ảnh lớn như thế nào không?


7

Tôi chỉ chụp hai bức ảnh trên điện thoại thông minh của tôi. Một mặt bàn không có gì trên đó và mặt khác của mặt bàn lộn xộn đầy chi tiết. Ảnh rõ ràng là 3,5 MB và ảnh lộn xộn là 5 MB. Sao có thể như thế được? Độ phân giải là như nhau nên chúng có cùng số pixel. Tại sao người ta sẽ tạo một tệp hình ảnh lớn hơn cái kia?


Nếu có một cảnh quan tốt mà bạn hoàn toàn muốn ở chất lượng tối đa, hãy chụp hai bức ảnh mà không thay đổi bất cứ điều gì (vị trí, thời gian, ...) và ở nhà hãy vứt bỏ cái có kích thước tệp nhỏ nhất. Bạn sẽ có một chi tiết tuyệt vời nhất (đừng bận tâm với điện thoại thông minh, chất lượng quá thấp để cần loại thủ thuật này).
FarO

4
Tôi cho rằng định dạng hình ảnh là jpg, phải không?
Dragos

Trong một số trường hợp, ngay cả định hướng cũng có thể tạo ra sự khác biệt. Hãy thử vẽ một đường đơn giản của lá cờ Mỹ và lưu nó dưới dạng GIF. Xoay 90 độ và lưu dưới dạng GIF riêng biệt. Phiên bản dọc sẽ có kích thước tệp lớn hơn. Nén JPEG phức tạp hơn một chút so với điều đó, nhưng điểm đáng chú ý là chi tiết hình ảnh chắc chắn ảnh hưởng đến kích thước tệp.
Robert Soupe

Để thêm một sự thật thú vị khác - ISO cao hơn (trên máy ảnh có thể điều khiển nó) cũng sẽ dẫn đến kích thước tệp cao hơn cho cùng một cảnh chính xác vì nhiễu thêm vào của ISO cao sẽ làm giảm hiệu quả của thuật toán nén. Đối với thuật toán, thêm nhiễu cũng tương tự như thêm chi tiết.
JPhi1618

Câu trả lời:


10

Điều này không chỉ có thể, mà rất có thể, khi bạn đang sử dụng định dạng hình ảnh nén như JPEG . Các phương pháp nén dữ liệu nói chung trở nên hiệu quả hơn khi dữ liệu được nén giảm theo entropy (thử tạo các tệp zip của một trang lớn của văn bản thực tế so với cùng một trang có ký tự lặp lại).

Càng nhiều tính năng hoặc chi tiết có kết cấu tốt mà hình ảnh chứa, việc nén có thể "gian lận" càng ít bằng cách đơn giản hóa dữ liệu mà nó lưu trữ để thể hiện hình ảnh khi nó không bị nén. Mặt khác, các máy ảnh lưu trữ hình ảnh dưới dạng tệp RAW không nén có xu hướng tạo ra các tệp có kích thước tương tự trên mỗi hình ảnh, bất kể nội dung hình ảnh.

Một định dạng mất dữ liệu như JPEG, vì nó thực sự loại bỏ một số dữ liệu không cần thiết theo cách rất thông minh trong khi nén, thường có thể đạt được tỷ lệ lên tới 10: 1 trong khi vẫn thể hiện một hình ảnh đẹp của một bức ảnh điển hình, trong khi định dạng nén không mất dữ liệu vẫn giữ được tất cả dữ liệu chỉ có thể đạt được nén 2: 1 hoặc ít hơn.


3
"Trong khi định dạng nén không mất dữ liệu giữ lại tất cả dữ liệu chỉ có thể đạt được 2: 1" Điều này không đúng. Lấy ví dụ tập tin này. Chúng không phải là những bức ảnh nhưng chúng có 16 triệu màu khác nhau. Png nén không mất và họ chỉ nặng 60k. libpng.org/pub/png/img_png/16million-pschmidt.png Lượng nén cũng phụ thuộc vào nội dung của tệp.
Rafael

3
@Rafael - làm cho từ ngữ rõ ràng hơn, nói về một hình ảnh nhiếp ảnh điển hình ở đây.
Junkyardsparkle

3
Câu trả lời này là chính xác. Đó là tất cả về nén. Nén, nói chung, hoạt động bằng cách tìm kiếm dữ liệu dư thừa hoặc lặp đi lặp lại. Nếu hầu hết các bức ảnh bao gồm cùng một dữ liệu thì nó có thể được nén một lượng lớn.
Rob Szumlakowski

1
@Rafael Ông viết "chỉ có thể đạt được" trong khi bạn hiểu "chỉ phải đạt được".
Đặc vụ_L

Ngoài ra: hầu hết các tệp DNG được nén với một đại số tương tự như JPEG.
Euri Pinhollow 15/03/2016

3

Điều này là hoàn toàn bình thường. Mặc dù cảm biến luôn lấy mẫu cùng một lượng dữ liệu, nhưng tệp không cần cùng số byte để thể hiện các hình ảnh khác nhau. Càng có nhiều chi tiết, càng cần nhiều byte để thể hiện nội dung của nó.

Điều này đặc biệt đúng với các định dạng lossless như hầu hết RAW, DNG và TIFF. Họ sử dụng các thuật toán để biểu thị dữ liệu cảm biến hoặc nội dung hình ảnh theo ít byte hơn nhưng có giới hạn thấp hơn về mức độ nhỏ của một tệp như vậy.

Các định dạng mất dữ liệu như JPEG thường cũng thay đổi kích thước theo chi tiết nhưng điều đó phụ thuộc. Trên một số máy ảnh, bạn có thể chọn giữa ưu tiên Kích thước và Chất lượng. Với ưu tiên Kích thước, thuật toán nén sẽ loại bỏ các chi tiết cho đến khi phù hợp với một kích thước nhất định. Thậm chí, nếu bạn chụp ảnh với ống kính được giới hạn, tệp được tạo sẽ khá nhỏ. Với mức độ ưu tiên Chất lượng, một số lượng chi tiết nhất định sẽ bị xóa trong quá trình nén, do đó, tệp sẽ thay đổi kích thước nhiều hơn vì nó phụ thuộc vào số lượng chi tiết trong cảnh bắt đầu.

Đây là một thực tế rất thú vị: Không có vấn đề gì nếu các chi tiết được chụp là có thật hay không. Nhiễu thêm phương sai trong hình ảnh tương đương với chi tiết cho mục đích lưu trữ. Nếu bạn chụp ảnh chính xác cùng một cảnh nhưng ở các ISO khác nhau, ảnh ISO cao hơn sẽ lớn hơn!


Trên thực tế, nó thường không thành vấn đề nếu các chi tiết là thật: chi tiết thực thường làm tăng kích thước tệp ít hơn nhiễu. Giảm nhiễu trên ảnh nén sẽ chỉ hoạt động nếu quá trình nén giữ nhiễu và lưu trữ nhiễu thường sẽ tiêu tốn nhiều bit hơn so với lưu trữ mọi thứ khác.
supercat

@supercat Đây là một thử nghiệm cho thấy ảnh hưởng của nhiễu đối với kích thước JPEG (ưu tiên chất lượng). Kích thước được tính bằng byte, được viết dưới mỗi hình ảnh. Tất nhiên, kết quả sẽ phụ thuộc đáng kể vào chính bộ mã hóa vì các bộ mã hóa bị mất có nhiều lựa chọn để đưa ra những chi tiết nào có thể bị loại bỏ mà không cần con người chú ý ... dropbox.com/s/gla3lmbe1d831od/lena.png?dl=0
Szabolcs

Làm thế nào là yếu tố nén được điều chỉnh giữa các hình ảnh, nếu có? Bạn có thể thậm chí giảm một hình ảnh nhiễu xuống kích thước tệp nhỏ, nhưng không may làm như vậy sẽ khiến không thể sử dụng các phương pháp thống kê để lọc nhiễu sau này.
supercat

2

Nếu bạn có vài chục hình ảnh JPG ngẫu nhiên từ một máy ảnh (nhiều cảnh, nhưng tất cả cùng kích thước hình ảnh) trong một thư mục, sau đó sắp xếp chúng theo kích thước tệp (chế độ xem "chi tiết"), thật khó để nói hình ảnh của bạn có thể là gì , nhưng kích thước tệp JPG của chúng sẽ thay đổi (lớn nhất so với nhỏ nhất) có thể ít nhất là 2 đến 1 và cực trị có thể nhiều hơn, có thể là 8 đến 1 (chỉ với một số, không có giới hạn). Các cảnh tập tin lớn sẽ có đầy đủ các tính năng rất chi tiết (cây có nhiều lá, v.v.) và các tệp nhỏ nhất sẽ rất đơn giản, gần như không có chi tiết chủ đề (bầu trời hoặc tường trống, v.v.).

Nén JPG có thể nén các cảnh đơn giản nhạt nhẽo hiệu quả hơn nhiều so với một cảnh được nhồi nhét nhiều chi tiết nhỏ. Ý tưởng chung về nén là chỉ lưu một vài thứ được hiển thị lặp đi lặp lại ở nhiều nơi, trái ngược với lưu nhiều thứ để hiển thị riêng lẻ.

Tất cả hình ảnh JPG là 3 byte mỗi pixel (một pixel là một màu RGB) khi không nén trong bộ nhớ máy tính, nhưng chúng được nén nhỏ hơn nhiều khi ở trong tệp JPG. Sự khác biệt này được gọi là tỷ lệ nén JPG. Ví dụ: kích thước hình ảnh 6000x4000 pixel (24 megapixel) luôn là x3 hoặc 72 triệu byte (68,7 megabyte) khi không nén RGB trong bộ nhớ. Tuy nhiên, tệp JPG được nén và thường có thể ở khoảng 1/4 hoặc 1/8 hoặc 1/16 kích thước đó được nén (mọi giá trị, nén tùy thuộc vào yếu tố Chất lượng JPG được chọn, các tệp nhỏ có chất lượng thấp, các tệp lớn là tốt nhất chất lượng). Yếu tố Chất lượng JPG này sẽ là cài đặt menu cố định trong máy ảnh, do đó có thể có cùng giá trị không thay đổi cho tất cả hình ảnh từ một máy ảnh.

Nhưng kích thước tập tin cuối cùng cũng sẽ thay đổi theo mức độ chi tiết tốt trong cảnh. Một ví dụ được hiển thị tại http://www.scantips.com/basics09b.html#size


"Tất cả hình ảnh JPG là 3 byte cho mỗi pixel (một pixel là một màu RGB)" Không hiệu quả. Có 4 kênh jpg.
Rafael

1
nhưng có lẽ KHÔNG có trong Adobe, Firefox hoặc Google hoặc các phòng thí nghiệm in. :)
WayneF

Wikipedia chỉ ra , nhưng thực tế không đưa ra tuyên bố, rằng JPEG không cần phải là 24 bpp, ngay cả khi bị giới hạn ở ba hình ảnh kênh (RGB).
một CVn

0

Câu trả lời dài đã được trình bày khá rõ, đó là các định dạng tệp nén không thực sự ghi lại từng pixel. Họ làm một cái gì đó dọc theo dòng ghi một màu cụ thể của một pixel cụ thể và sau đó ghi "màu này được sử dụng lại tại các vị trí x, y và z". Điều này (về mặt lý thuyết) sẽ ổn nếu bạn chụp được hình ảnh của mình chính xác như bạn muốn chụp. Nhưng nếu bạn cần thay đổi màu sắc, độ sáng, v.v. của hình ảnh, bạn sẽ thấy rằng bạn có rất ít sự linh hoạt vì những gì bạn nhìn thấy về cơ bản là tất cả những gì đã được ghi lại.

Câu trả lời ngắn gọn là "nếu máy ảnh của bạn cung cấp cho bạn tùy chọn để chụp ảnh thô, bạn thực sự muốn sử dụng nó."


nhưng câu trả lời ngắn không trả lời câu hỏi. =)
scottbb

0

Tạo hình ảnh 300dpi trong PS, giả sử 5000px x 3000px, tô màu trắng và lưu dưới dạng JPG, chất lượng hình ảnh ở mức tối đa. Bạn sẽ có một tệp JPG có kích thước khoảng 1mb. Bây giờ trở lại PS, đi đến các bộ lọc và thêm một số tiếng ồn, không quá 1% để bạn hầu như không thể nhận thấy nó. Bây giờ lưu lại tệp, cùng cài đặt, JPG với chất lượng hình ảnh tối đa. Kích thước tệp (trên đĩa) bây giờ sẽ vào khoảng 6mb.

Vì vậy, kích thước hình ảnh (tính bằng mb) liên quan trực tiếp đến nội dung pixel của hình ảnh cũng như nội dung pixel. Hai hình ảnh từ cùng một máy ảnh sử dụng cùng một cài đặt và được xuất từ ​​LR hoặc PS sử dụng cùng một cài đặt sẽ khác nhau nếu nội dung hình ảnh khác nhau.

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.