Có một công thức để tính toán DOF?


16

Tôi khá rõ ràng về DOF đó phụ thuộc vào:

  1. Tiêu cự
  2. Miệng vỏ
  3. Khoảng cách từ chủ đề
  4. Kích thước cảm biến
    và nhiều hơn nữa (như được chỉ ra trong bình luận).

Nhưng câu hỏi ở đây là: Có công thức nào liên quan đến tất cả các yếu tố này với DOF không ?? Cho các giá trị này là có thể tính toán chính xác độ sâu của trường ??


1
Có hai điều nữa để xem xét: (5) kích thước của hình ảnh cuối cùng; và (6) liệu bạn có quan tâm đến "vùng có độ sắc nét chấp nhận được" hay không khi tính đến năm yếu tố khác hoặc với "vùng đủ mờ".

Câu trả lời:


17

Độ sâu của trường phụ thuộc vào hai yếu tố, độ phóng đại và số f.

Độ dài tiêu cự, khoảng cách chủ thể, kích thước và vòng tròn nhầm lẫn (bán kính mà mờ sẽ hiển thị) cùng xác định độ phóng đại.

Độ sâu trường ảnh không phụ thuộc vào ống kính hoặc thiết kế máy ảnh ngoài các biến trong công thức, vì vậy thực sự có các công thức chung để tính độ sâu trường cho tất cả máy ảnh và ống kính. Tôi không có tất cả chúng cam kết với bộ nhớ vì vậy tôi chỉ sao chép và dán từ Wikipedia vì vậy thay vào đó tôi sẽ rời khỏi liên kết này:

Một câu trả lời tốt hơn cho câu hỏi của bạn sẽ là trải qua việc tạo ra các công thức từ các nguyên tắc đầu tiên, một việc mà tôi đã định làm trong một thời gian nhưng không có thời gian. Nếu bất cứ ai muốn tình nguyện tôi sẽ cung cấp cho họ một upvote;)


15

Bạn muốn toán, vì vậy nó ở đây:

Bạn cần biết CoC của máy ảnh của mình, cảm biến cỡ Canon APS-C, con số này là 0,008, đối với Nikon APS-C 0,009, đối với cảm biến toàn khung hình và phim 35mm, con số là 0,029.

Công thức dành cho sự hoàn chỉnh:

CoC (mm) = viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25

Cách làm của Anothe là công thức Zeiss :

c = d/1730

Trong đó d là kích thước đường chéo của cảm biến và c là CoC tối đa chấp nhận được. Điều này mang lại số lượng hơi khác nhau.

Trước tiên, bạn cần tính toán khoảng cách siêu tiêu cự cho ống kính và máy ảnh của mình (công thức này không chính xác với khoảng cách gần với độ dài tiêu cự, ví dụ như macro cực lớn):

HyperFocal[mm] = (FocalLength * FocalLength) / (Aperture * CoC)

ví dụ:

50mm lens @ f/1.4 on a full frame:      61576mm (201.7 feet)
50mm lens @ f/2.8 on a full frame:      30788mm (101 feet)
50mm lens @ f/1.4 on a Canon APS frame: 99206mm (325.4 feet)
50mm lens @ f/2.8 on a Canon APS frame: 49600mm (162.7 feet)

Tiếp theo, bạn cần tính toán điểm gần là khoảng cách gần nhất sẽ được lấy nét theo khoảng cách giữa máy ảnh và đối tượng:

NearPoint[mm] = (HyperFocal * distance) / (HyperFocal + (distance – focal))

ví dụ:

50mm lens @ f/1.4 on a full frame with a subject at 1m distance: 0.984m (~16mm in front of target)
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 2.862m (~137mm in front of target)
50mm lens @ f/2.8 on a full frame with a subject at 1m distance: 0.970m (~30mm in front of target)
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 2.737m (~263mm in front of target)

50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance: 0.990m (~10mm in front of target)
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 2.913m (~86mm in front of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance: 0.981m (~19mm in front of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 2.831m (~168mm in front of target)

Tiếp theo, bạn cần tính toán điểm xa là khoảng cách xa nhất sẽ được lấy nét theo khoảng cách giữa máy ảnh và đối tượng:

FarPoint[mm] = (HyperFocal * distance) / (HyperFocal – (distance – focal))

ví dụ:

50mm lens @ f/1.4 on a full frame with a subject at 1m distance: 1.015m (~15mm behind of target)
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 3.150m (~150mm behind of target)
50mm lens @ f/2.8 on a full frame with a subject at 1m distance: 1.031m (~31mm behind of target)
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 3.317m (~317mm behind of target)

50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance: 1.009m (~9mm behind of target)
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 3.091m (~91mm behind of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance: 1.019m (~19mm behind of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 3.189m (~189mm behind of target)

Bây giờ bạn có thể tính tổng khoảng cách tiêu cự:

TotalDoF = FarPoint - NearPoint

ví dụ:

50mm lens @ f/1.4 on a full frame with a subject at 1m distance:  31mm
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 228mm
50mm lens @ f/2.8 on a full frame with a subject at 1m distance:  61mm
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 580mm

50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance:  19mm
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 178mm
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance:  38mm
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 358mm

Vì vậy, công thức hoàn chỉnh w / CoC và HyperFocal được tính toán trước:

TotalDoF[mm] = ((HyperFocal * distance) / (HyperFocal – (distance – focal))) -(HyperFocal * distance) / (HyperFocal + (distance – focal))

Hoặc đơn giản hóa:

TotalDoF[mm] = (2 * HyperFocal * distance * (distance - focal)) / (( HyperFocal + distance - focal) * (HyperFocal + focal - distance))

Với CoC được xác định trước: Tôi đã cố gắng đơn giản hóa các phương trình sau với các thay thế sau: a = khoảng cách xem (cm) b = độ phân giải hình ảnh cuối cùng mong muốn (lp / mm) cho khoảng cách xem 25 cm c = phóng to d = Tiêu cự e = Khẩu độ f = khoảng cách X = CoC

TotalDoF = ((((d * d) / (e * X)) * f) / (((d * d) / (e * X)) – (f – d))) - ((((d * d) / (e * X)) * f) / (((d * d) / (e * X)) + (f – d)))

Giản thể:

TotalDoF = (2*X*d^2*f*e(d-f))/((d^2 - X*d*e + X*f*e)*(d^2 + X*d*e - X*f*e))

Thậm chí đơn giản hơn nữa với WolframAlpha:

TotalDoF = (2 * d^2 * e * (d - f) * f * X)/(d^4 - e^2 * (d - f)^2 * X^2)

Hoặc nếu không có gì được tính toán trước, bạn sẽ có được con quái vật này, thứ không thể sử dụng được:

TotalDoF = ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) * distance) / ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) – (distance – focal)) - ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) * distance) / ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) + (distance – focal))

Giản thể:

(50*a*b*c*d^2*f*e*(d-f))/((25*b*c*d^2 - a*d*e + a*f*e)*(25*b*c*d^2 + a*d*e - a*f*e)

Vì vậy, về cơ bản sử dụng CoC và HyperFocal tính toán lại :)


@mattdm điều này có trả lời câu hỏi của bạn liên quan đến việc bao gồm các công thức không?
psarossy

Vâng, rất hữu ích, cảm ơn. (Xin lỗi tôi đã quên gán tiền thưởng.)
mattdm

8

Nếu bạn muốn xem triển khai thực tế về độ sâu của các công thức trường, bạn có thể kiểm tra Máy tính độ sâu trường trực tuyến này . Nguồn của trang HTML được liên kết có tất cả các công thức được triển khai trong Javascript.


4

Vâng, có công thức. Bạn có thể tìm thấy một địa chỉ tại http://www.dofmaster.com/equations.html . Các công thức này được sử dụng trên máy tính này , nó cũng giải thích độ sâu của trường chi tiết hơn. Tôi đã sử dụng trang web này nhiều lần và nhận thấy nó có độ chính xác hợp lý sau khi tự mình kiểm tra thực tế.



0

P = điểm tập trung vào

Pd = điểm xa được xác định rõ

Pn = điểm gần được xác định rõ

D = đường kính của vòng tròn nhầm lẫn

số f

F = tiêu cự

Pn = P (1 + PDf ÷ F ^ 2)

Pd = P (1-PDf F ^ 2)

Tiêu chuẩn công nghiệp để đặt D = 1/1000 độ dài tiêu cự. Để làm việc chính xác hơn, sử dụng 1/1500 độ dài tiêu cự. Giả sử tiêu cự 100mm sau đó 1/1000 của 100mm = 0,1mm hoặc 1/1500 = 0,6666mm

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.