2014-02-15 47 views
0

我有一個相機放置在距離寬度= 50cm,高度= 15cm的肖像(矩形)10米遠的地方,我希望在拍攝的圖像內獲得此肖像的尺寸。捕獲的圖像寬度= 800像素,高度= 600像素。根據相機距離遙遠的圖像中的對象尺寸遠距

如何計算圖像內的人像尺寸?請幫忙嗎?

+0

您需要指定相機的視野(即相機型號)。 –

回答

1

我假設相機位於肖像中心正常位置,直視人像中心。

讓我們定義一些變量。

  • 水平視場:FOV(需要指定)
  • 物理縱向寬度:PW = 50釐米
  • 寬度肖像平面的捕獲:CW釐米(未知)
  • 圖片寬度:IW = 800像素的
  • 寬度在圖像空間的肖像:X像素(未知)從相機到被攝體
  • 距離:d =10米

我們知道tan(FOV)=(CW cm)/(100 * D cm)。因此CW = tan(FOV)* 100 * D cm。

我們知道PW/CW = X/IW。因此X =(IW * PW)/(tan(FOV)* 100 * D)px。

+0

感謝您的回答,但我想澄清一下您的意思是什麼水平視野?縱向拍攝的寬度和圖像空間中的縱向寬度有什麼區別? –

+0

@ 0_0水平視野是相機可以在任何一側看到的程度。例如,90度的水平視野意味着攝像機可以直線前進,並且任何一側都可以看到45度。圖像空間中人像的寬度是人像在相機圖像中出現的寬度(以像素爲單位)。 –

0

我同意蒂莫西的回答,因爲你需要知道相機的視場(FOV)。但我不確定我完全遵循/同意他的方法。我認爲這是相似的,但它有所不同,視場角需要除以2才能將我們的觀點分爲兩個直角三角形。使用黃褐色(X)=相反/相鄰

黃褐色(FOV/2)=(IW/2)/(DIST * 100)

其中IW是真正的圖像寬度(必須用兩個作爲分我們只找到直角三角形的一半寬度),分辨率是從相機到人像的距離(轉換爲釐米)。

重新安排找到整個圖像的寬度(IW):

IW = t和(FOV/2)*(2 * DIST * 100)

現在,可以制定出的寬度每個像素(PW)使用圖像寬度中的像素數量(800)。

PW = IW/NumPixels
PW = IW/800

現在,通過該值除以真寬度找到的像素的數量。

PixelWidth = TrueWidth/PW

同樣可以做到的高度,但你需要看你的相機的視野。 林不知道這是一個蒂莫西的答案,但我敢肯定這是正確的。