Tại sao bức chân dung này không được chụp ở f / 29 sắc nét?


25

Tôi bối rối không biết tại sao bức tranh này không sắc nét. Đây là ảnh chân dung ở F / 29 ISO100 1/250 với ống kính 17-85mm lấy nét ở 38mm. Khoảng cách chủ đề là 1,2M. Ứng dụng DOF của tôi cho tôi biết rằng DOF của tôi phải có ~ 82,98cm hoặc xấp xỉ 1M.

Tôi bối rối không biết tại sao bức ảnh này không sắc nét như nó phải vậy. Đối với ảnh chụp màn hình này, tôi đã phóng to nó lên 200%. Nó mờ nhiều ở mức bình thường 200%?

EDIT: Một số người có câu hỏi về DOF trong ảnh này vì vậy đây là một số thông tin có thể được lượm lặt từ bất kỳ máy tính DOF trực tuyến nào. Ước tính 82,8cm của tôi là từ một ứng dụng và 1,2 triệu là từ thông tin EXIF, sử dụng công cụ trực tuyến này , DOF tại F28 sẽ là:

 Subject distance   1.2 m

 **Depth of field** 
 Near limit     0.84 m
 Far limit      2.13 m
 Total          1.29 m

 In front of subject        0.36 m  (28%)
 Behind subject             0.93 m  (72%)

 Hyperfocal distance         2.7 m
 Circle of confusion       0.019 mm

Điều này cũng đúng vì đó là khoảng cách tôi thực sự cách máy ảnh - 1,2M. Vì vậy, để bức ảnh này bị mất nét, tôi sẽ phải cách máy ảnh khoảng nửa mét, đó không phải là điều tôi nhớ. Có thể hiện tượng nhòe quan sát trong bức ảnh này không phải do chủ thể nằm ngoài tiêu cự.

chân dung F / 29 ISO100 1/250


6
nhiễu xạ đóng một vai trò ở khẩu độ này
null

7
Chắc chắn có liên quan nếu không hoàn toàn trùng lặp: Giới hạn nhiễu xạ của ai là gì? .
Philip Kendall

1
Là ống kính tập trung ở 38mm hoặc 38cm? mm dường như không thể.
mattdm

9
Không nơi nào trong mô tả của bạn về cài đặt của bạn, bạn đã nói về khoảng cách mà ống kính của bạn được tập trung. Lưu ý rằng điều này không liên quan gì đến độ dài tiêu cự mà ống kính zoom của bạn được đặt thành. Bạn có thể đã có ống kính tập trung ở vô cực cho tất cả những gì chúng ta biết. OK, có thể không phải là vô cùng, nhưng chỉ đơn giản là thiếu tập trung là một ứng cử viên có khả năng.
osullic

2
"Tập trung tại" và "tiêu cự" là hai khái niệm khác nhau. Thêm ở đây .
mattdm 21/07/2015

Câu trả lời:


48

Như đã đề cập trong các câu trả lời khác, nhiễu xạ đã dẫn đến sự không rõ ràng. Để thử nghiệm điều này, người ta có thể cố gắng làm sắc nét hình ảnh bằng cách sử dụng giải mã bằng cách sử dụng chức năng trải rộng điểm tương ứng với F / 29. Để nhiễu xạ, chúng ta có (tối đa hóa bình thường)

P (s) = {J 1rs / ( λF )] / [π rs / ( λF )]} 2

Trong đó J 1hàm Bessel của loại thứ tự 1 đầu tiên ,
s là khoảng cách trong ảnh được đo bằng pixel,
r là kích thước của một pixel (thường là khoảng 4.2 * 10 ^ (- 6) mét cho cảm biến crop),
λ là bước sóng của ánh sáng, và
F F-số, trong trường hợp này 29.

Điều này sau đó đúng với ánh sáng đơn sắc, để xấp xỉ chức năng trải rộng điểm cho các kênh màu chúng ta có thể lấy trung bình trên một số bước sóng thích hợp. Ngoài ra, người ta nên tích hợp P (s) trên diện tích pixel được chỉ định bởi s.

Nếu chúng ta biên dịch các hàm trải 3 điểm cho 3 kênh màu theo cách này, chúng ta có thể làm sắc nét hình ảnh bằng cách chuyển đổi nó thành không gian màu tuyến tính và áp dụng thuật toán giải mã và sau đó chuyển đổi trở lại sRGB. Tôi đã nhận được kết quả sau:

Hình ảnh sắc nét

Vì vậy, khuôn mặt đã được làm sắc nét đáng kể khi chỉ sử dụng dữ liệu về số F và giả định về kích thước của pixel. Các tạo tác dải được hiển thị trong phần tối của hình ảnh, điều này là do áp phích hóa sau khi chuyển đổi trở lại sRGB.

Theo yêu cầu, tôi sẽ thêm một số chi tiết về các chương trình được sử dụng. Tôi đã sử dụng ImageJImageMagick , tôi cũng đã sử dụng Mathicala để tính toán hàm lây lan điểm, nhưng nó cũng có thể được thực hiện trong ImageJ. Tôi sẽ bắt đầu bằng cách giải thích cách tôi thực hiện giải mã với ImageJ khi tôi đã có chức năng trải rộng điểm. Để thực hiện giải mã, bạn cần cài đặt một plugin cho ImageJ, tôi đã sử dụng plugin này cho trường hợp này, nhưng cũng có các plugin khác có sẵn, ví dụ như plugin DeconvolutionLab .

Trước tiên, bạn cần chuyển đổi sang không gian màu tuyến tính, tôi đã sử dụng ImageMagick để chuyển đổi hình ảnh unsharp (input.jpg) sang không gian màu tuyến tính bằng lệnh:

convert input.jpg -colorspace RGB output.tif

Sau đó với ImageJ, sau đó bạn mở tệp output.tif. Sau đó, từ các tùy chọn menu, bạn chọn "hình ảnh" rồi "màu" và sau đó "Nhổ kênh". Sau đó, từ menu chọn "plugin" và sau đó "deconvolution lặp song song" và sau đó giải mã tương tác 2d ".

Sau đó, bạn nhận được cửa sổ giải mã, sau đó bạn chọn hình ảnh và "PSF" có nghĩa là fucntion điểm lan truyền, ở đó bạn chọn tệp hình ảnh có chứa chức năng trải rộng điểm. Đối với phương pháp, tôi chọn "WPL" dựa trên bộ lọc Wiener, thường hoạt động khá tốt đối với hình ảnh có độ nhiễu thấp. Trong các tùy chọn cho WPL, hãy kiểm tra "bình thường hóa PSF" và đối với bộ lọc thông thấp, thay đổi giá trị thành 0,2, theo mặc định là 1, nhưng giá trị thấp hơn sẽ tốt hơn cho hình ảnh có độ nhiễu thấp (nếu bạn chọn nó lớn hơn, bạn ' sẽ có được một hình ảnh ít sắc nét hơn). Các tùy chọn khác, Ranh giới có thể được chọn là phản xạ, thay đổi kích thước có thể được đặt thành "công suất tiếp theo là 2", đầu ra có thể được đặt thành 32 bit, độ chính xác có thể được đặt thành gấp đôi. Tôi đã chọn số lần lặp tối đa là 15,

Sau đó, bạn chạy chương trình bằng cách nhấp vào "deconvolve". Sau đó, bạn nhận được một tệp hình ảnh 32 bit làm đầu ra. Thông thường, các giá trị pixel khá giống với những gì chúng có trong ảnh gốc, nhưng bạn có thể có một số pixel vượt quá mức tối đa cho định dạng ảnh gốc. Vì vậy, trong trường hợp này, chúng tôi đã bắt đầu với hình ảnh 8 bit, nhưng trong hình ảnh được giải mã, bạn có thể có các giá trị màu xám vượt quá 255, sau đó làm cho toàn bộ hình ảnh trở nên quá tối. Điều này phải được khắc phục bằng cách cắt các pixel này thành 255, bạn có thể thực hiện bằng cách chọn trong menu "process" và sau đó là "Math" và sau đó là "Max". Giá trị tối đa sau đó sẽ được sử dụng để cắt các giá trị màu xám vượt quá giá trị đó. Lưu ý rằng điều này sẽ được thực hiện cho hình ảnh mà bạn nhấp vào lần cuối. Bạn cũng có thể xem tệp nào là "tệp hiện tại" bằng cách chọn "

Sau đó, khi bạn đã giải mã được 3 thành phần màu, bạn có thể kết hợp chúng bằng cách chọn trong menu "hình ảnh", sau đó "màu" và sau đó "Hợp nhất kênh". Sau đó, bạn nhận được một hình ảnh tổng hợp mà bạn có thể chuyển đổi thành 8 bit RGB bằng cách sử dụng lệnh "Stack to RGB" mà bạn tìm thấy ở đó.

Sau đó, bạn lưu hình ảnh đó, hãy gọi nó là im.tif. Cuối cùng, bạn phải chuyển đổi nó thành sRGB, bạn có thể làm điều đó với ImageMagick bằng lệnh:

convert im.tif -set colorspace RGB -colorspace sRGB output.tif

Câu hỏi còn lại là làm thế nào để có được chức năng trải rộng điểm. Trong thực tế, nếu bạn đã chụp một bức ảnh giống như bức ảnh đang thảo luận ở đây, bạn có thể chỉ cần chụp một bức ảnh về nguồn điểm, ví dụ như một ngôi sao ở F / 29 và sử dụng nó làm chức năng trải rộng điểm của bạn. Ngoài ra, bạn có thể xem xét các ranh giới có độ tương phản cao và trích xuất hàm lây lan điểm từ cách các giá trị màu xám thay đổi từ giá trị này sang giá trị khác qua ranh giới. Nhưng sau đó, bạn đang cố gắng làm sắc nét hình ảnh tốt nhất có thể.

Trong trường hợp này, mục tiêu là biên dịch các hàm phân tán điểm cho kênh màu dựa trên những gì bạn mong đợi là cho F / 29, giải mã hình ảnh với điều đó và xem kết quả có đủ cải thiện không. Tôi đã sử dụng Mathicala để thực hiện một số tính toán và chương trình đại số máy tính tiên tiến như vậy khá dễ dàng để thực hiện tất cả các loại thao tác bao gồm lấy trung bình trên một khoảng bước sóng và tích hợp trên các vùng pixel để làm cho PSF thực tế hơn.

Nhưng ImageJ cũng cho phép bạn tạo một hình ảnh mới mà bạn có thể sử dụng làm chức năng trải rộng điểm. Nếu bạn nhấp vào "Tệp" và sau đó "Mới", bạn có thể tạo hình ảnh có kích thước 32 bit, giả sử, 64 x 64 chứa đầy màu đen. Sau đó, bạn có thể lập trình một công thức cho các giá trị màu xám bằng cách chọn "quy trình", sau đó "Toán học" và sau đó "Macro". Để có được hàm lây lan điểm cho trường hợp này liên quan đến hàm Bessel ở đây, bạn có thể sử dụng thực tế là nó được mô tả tốt bằng một vài thuật ngữ đầu tiên của việc mở rộng chuỗi. Trang MathWorld mà tôi liên kết để cung cấp cho bạn bản mở rộng chuỗi này, vì vậy, J 1 (x) 2 / x 2 với x = π rs / ( F ) có thể được thay thế bằng một hàm có dạng A + B s 2 + C s 4. Giá trị gần đúng này sẽ trở nên không hợp lệ nếu s quá lớn. Bây giờ, chúng ta biết rằng PSF có xu hướng bằng không, ví dụ ở khoảng cách khoảng 5 hoặc 6 pixel, nó có thể được đặt thành không. Giả sử rằng đa thức vẫn còn nhỏ ở các giá trị này, bạn có thể viết Macro dưới dạng:

if(d<7) v = A + B  * pow(d,2) +  B * pow(d,4)

Sau đó, bạn tạo 3 hình ảnh cho lambda = 650nm, 500nm và 400nm hoặc bất kỳ giá trị nào khác mà bạn cho là phù hợp để thể hiện nhiễu xạ trong 3 kênh màu. Sau đó, bạn có thể thực hiện lấy trung bình trên một vài bước sóng khác nhau bằng cách tạo hình ảnh cho lambda khác nhau và sau đó chọn "xử lý", sau đó "máy tính hình ảnh" và ở đó bạn chọn "thêm". Sau đó, bạn có thể thêm một hình ảnh khác vào kết quả này và khi bạn thêm xong, bạn có thể chia để lấy mức trung bình bằng cách chọn "quy trình", sau đó "toán học" và sau đó "chia".


Điều đó thật tuyệt vời. Tự hỏi sẽ mất bao lâu cho đến khi máy ảnh tích hợp vào kho vũ khí chỉnh sửa tự động của chúng và loại điều này được áp dụng như một vấn đề tất nhiên.
mattdm

2
+10 (thực sự không thể làm +10) để thêm toán học. Thật tuyệt khi bạn thêm nó. Bạn có thể đưa ra bất kỳ trích dẫn cho điều này. Tôi muốn thử bản thân mình. Toán học càng chi tiết!
MyStack bị hỏng

Điều đó thực sự khá đáng kinh ngạc. Phần mềm nào bạn đã làm điều này trong? Điều này có vẻ như nó có thể cực kỳ hữu ích cho chụp ảnh macro.
Chủ nghĩa cá nhân

@mattdm Deconvolution đòi hỏi khá nhiều sức mạnh tính toán, nhưng sau đó một số thuật toán như giải mã hóa của RichardsonTHER Lucy có thể được thực hiện dễ dàng hơn trong phần cứng so với các thuật toán khác. Ngoài ra, phần mềm máy ảnh được sử dụng để xử lý các tệp thô trên máy tính của họ có thể bao gồm giải mã được tối ưu hóa cụ thể để xử lý độ mờ thực tế bạn nhận được do mất nét và nhiễu xạ.
Bá tước Iblis

1
@CorruptedMyStack Tôi sẽ thêm một số chi tiết trong câu trả lời. Bạn sẽ có thể làm một công việc tốt hơn nhiều nếu bạn có tệp thô. Bạn có thể tra cứu kích thước cảm biến và từ đó tính toán kích thước pixel. Nhưng bạn cũng có thể bỏ qua các tính toán và đo trực tiếp chức năng trải rộng điểm bằng cách chụp ảnh một số điểm giống như đối tượng và sau đó chỉ cần trích xuất hàm lây lan điểm từ đó. Trong trường hợp nhiễu xạ, quá trình giải mã được thực hiện tốt nhất với các tệp thô, không giống như trong các trường hợp khác, hiện tại bạn có viền màu không nên sửa trước khi tiến hành giải mã.
Đếm Iblis

51

Bạn đã chạy quá giới hạn nhiễu xạ . Các tia sáng đi qua một lỗ nhỏ sẽ phân kỳ và giao thoa với nhau và một mô hình xuất hiện - một loại dải trong đó các tần số / vị trí khác nhau có thể khiến các tia riêng biệt cộng lại hoặc phủ định lẫn nhau. Độ mở càng nhỏ thì sự phân kỳ / nhiễu này càng lớn. Mẫu này được gọi là đĩa Airy. Khi đường kính của đỉnh đĩa Airy lớn hơn kích thước của pixel và các đĩa Airy cho mỗi pixel bắt đầu hợp nhất, bạn sẽ có được độ mềm - do đó, số pixel của cảm biến càng cao và cảm biến của bạn càng nhỏ, bạn càng sớm Tôi sẽ thấy nó khi bạn dừng lại.

Bạn thường sắc nét hơn ở một "phương tiện hạnh phúc". Trường hợp "phương tiện hạnh phúc" của thiết bị của bạn có thể thay đổi tùy thuộc vào mật độ / kích thước pixel và thiết kế ống kính. Với các cảm biến cỡ APS-C, mà tôi khéo léo phát hiện ra bạn đang sử dụng từ tham chiếu ống kính 17-85, có lẽ bạn không muốn vượt qua f / 11 mà không có lý do thực sự tốt và sẵn sàng từ bỏ độ sắc nét. Giới hạn nhiễu xạ lý thuyết có thể sẽ nằm trong phạm vi f / 5.6-f / 8. Bạn cũng sẽ muốn tìm ra "điểm ngọt" của ống kính của bạn - nhiều ống kính hoạt động tốt hơn đã dừng xuống 1-2 điểm từ khi mở rộng. Ví dụ: "điểm ngọt" của EF 50mm f / 1.8 II nằm trong phạm vi f / 4-5.6.

Tôi cũng sẽ nói, đánh giá độ sắc nét ở độ phóng đại 200% chỉ là yêu cầu tất cả các ống kính của bạn trông giống như thịt chó. Đó không phải là độ phóng đại thực tế về khoảng cách xem bạn có từ một bản in thông thường và đó là một ống kính hiếm hoi sẽ đứng vững với loại thử nghiệm đó, ngay cả khi được sử dụng tại điểm ngọt ngào của nó. Dừng nhìn trộm pixel. Bắt đầu nhìn vào bản in.

Xem thêm: http://www.cambridgeincolour.com/tutorials/diffraction-phzeriay.htmlm


Hoặc, nếu bạn đang đánh giá bản in trông như thế nào, thì: phóng to hình ảnh sao cho nó xuất hiện trên màn hình có cùng kích thước như trên bản in và nhìn vào màn hình từ khoảng cách tương tự như bạn in. Điều đó sẽ cho bạn ý tưởng tốt hơn nhiều về kết quả cuối cùng sẽ như thế nào, mặc dù đó không phải là một phương pháp hoàn hảo. @CorruptedMyStack
CVn

15

Vì nhiễu xạ. f / 29 là quá nhiều để bạn mong đợi một hình ảnh sắc nét. Hãy thử chụp điều tương tự ở f / 8 và bạn sẽ thấy sự khác biệt.

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.