自由度を計算する式はありますか?


16

DOFが次の要素に依存していることは明確です。

  1. 焦点距離
  2. 絞り
  3. 被写体からの距離
  4. センサーのサイズ
    など(コメントで指摘されているとおり)。

しかし、ここでの質問は何ですか:これらのすべての要因をDOFに関連付ける式はありますか?これらの値を考えると、被写界深度を正確に計算することは可能ですか?


1
考慮すべきことがさらに2つあります。(5)最終画像のサイズ。(6)他の5つの要素を考慮した場合の「許容可能なシャープネスのゾーン」、または「十分な不鮮明のゾーン」に関心があるかどうか。

回答:


17

被写界深度は、倍率とf値の2つの要因に依存します。

焦点距離、被写体距離、サイズ、錯乱円(ブラーが見える半径)が一緒に倍率を決定します。

被写界深度は、式の変数以外のレンズまたはカメラの設計に依存しないため、実際にはすべてのカメラとレンズの被写界深度を計算する一般的な式があります。すべてをメモリにコミットしているわけではないので、Wikipediaからコピーして貼り付けるだけなので、代わりにこのリンクを残します。

あなたの質問へのより良い答えは、最初の原則から式を導き出すことです。これは私がしばらくの間やりたいことでしたが、時間がありませんでした。誰もがボランティアしたい場合は、彼らに賛成票を差し上げます;)


15

あなたは数学が欲しかったので、ここに行きます:

カメラのCoC、Canon APS-Cサイズのセンサー、この数値は0.018、Nikon APS-C 0.019、フルフレームセンサーと35mmフィルムの数値は0.029です。

式は完全を期すためのものです。

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

これを行う別の方法は、ツァイス式です:

c = d/1730

ここで、dはセンサーの対角サイズ、cは最大許容CoCです。これにより、わずかに異なる数値が生成されます。

最初にレンズとカメラの過焦点距離を計算する必要があります(この式は、極端なマクロなどの焦点距離に近い距離では不正確です):

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

例えば:

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)

次に、カメラと被写体の間の距離が与えられたときに焦点が合う最も近い距離である近点を計算する必要があります。

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

例えば:

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)

次に、カメラと被写体の間の距離が与えられたときに焦点が合う最も遠い距離である遠点を計算する必要があります。

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

例えば:

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)

これで、合計焦点距離を計算できます。

TotalDoF = FarPoint - NearPoint

例えば:

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

したがって、CoCとHyperFocalを含む完全な式は事前計算されています。

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

または簡略化:

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

CoCが事前計算済みの場合:次の式を次のように置き換えて簡略化しようとしました。焦点距離e =開口f =距離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)))

簡略化:

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))

WolframAlphaでさらに簡素化:

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

または、何も事前に計算されていない場合、このモンスターを取得しますが、これは使用できません。

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))

簡略化:

(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)

したがって、基本的には再計算されたCoCと​​HyperFocalを使用します:)


@mattdmは、式を含めることに関するあなたの質問に答えますか?
psarossy

はい、とても助かります、ありがとう。(バウンティを割り当てるのを忘れてしまった。)
mattdm




0

P =注目点

Pd =明確に定義された遠点

Pn =鋭く定義された近点

D =錯乱円の直径

f = f値

F =焦点距離

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

Pd = P÷(1-PDf÷F ^ 2)

D =焦点距離の1/1000を設定する業界標準。より正確な作業には、焦点距離の1/1500を使用します。100mmの焦点距離を想定し、100mmの1/1000 = 0.1mmまたは1/1500 = 0.6666mm

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.