我有一个相机放置在距离宽度= 50厘米,高度= 15厘米的肖像(矩形)10米远的地方,我希望在拍摄的图像中获得此肖像的尺寸。捕获的图像宽度= 800像素,高度= 600像素。
如何计算图像内部纵向的尺寸?有什么帮助吗?
答案 0 :(得分:1)
我假设相机位于肖像的中心法线上,直视着肖像的中心。
让我们定义一些变量。
我们知道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。
答案 1 :(得分:0)
我同意Timothy的回答,因为你需要知道相机的视野(FOV)。我不确定我是否完全遵循/同意他的方法。我认为这是相似的,但它有所不同,FOV需要除以2将我们的视图分成两个直角三角形。使用tan(x)= opposite / adjacent
tan(FOV / 2)=(IW / 2)/(Dist * 100)
其中 IW 是真实的图像宽度(必须除以2,因为我们只发现找到宽度的一半带有直角三角形), Dist 是从相机到肖像的距离(转换为厘米)。
重新排列以找到整个图像的宽度(IW):
IW = tand(FOV / 2)*(2 * Dist * 100)
您现在可以使用图像宽度中的像素数(800为您)计算每个像素(PW)的宽度。
PW = IW / NumPixels
PW = IW / 800
现在将真实宽度除以此值以查找像素数。
PixelWidth = TrueWidth / PW
高度也可以这样做,但你需要你的相机的视野。 我不确定这是蒂莫西的答案,但我确信这是正确的。