我有影像的兩個坐標 (x, y)
Point N: (x = 2314, y = 751), Width = 2880, Hight = 2304
Point S: (x = 1533, y = 670), Width = 2880, Hight = 2304
當我在 matplotlib 中繪制它們時,它們看起來像這樣。(雖然我在這里也繪制了一些其他點。) -

現在,我想計算S and N
我知道X光板和X光機之間的距離是180厘米。
我已經嘗試過使用該math功能。
distance = math.sqrt( ((N[0]-S[0])**2) ((N[1]-S[1])**2) )
print(distance)
這給了我這樣的結果
755.2747844327918
但我需要知道距離(以米為單位)。我怎么能以某種方式做到這一點?
uj5u.com熱心網友回復:
您已經計算了以像素為單位的距離。您需要知道每個像素的大小(例如,以 mm 為單位),因此您可以通過乘以比例因子將其轉換為 mm。
該比例因子是兩件事的乘積:
- 影像傳感器的物理尺寸允許計算每個像素的大小。例如,如果它的有效尺寸是 288 毫米 x 230.4 毫米,并且它生成的影像尺寸為 2880 x 2304 像素,那么每個像素的尺寸為 0.1 毫米。
- 大多數 X 射線機可以近似為照亮測驗物件的點源,影像平面位于后面。因為它是點源,所以投影在影像傳感器上的影像比被攝體大,比例因子由源、被攝體和成像平面之間的相對距離決定。這將使實際距離小于投影在成像平面上的尺寸。您可以使用幾何來計算該比例因子。(微妙的一點:除非硬體或軟體已經對此進行了糾正,否則由于扇形光束幾何形狀,這實際上不是整個影像的統一縮放。只要物件靠近成像平面并且對角很小,這個因子將接近 1.0,首先,可以認為整個影像的順序是一致的)。
通過結合這兩個因素,您可以將像素距離轉換為主體物理距離。請注意,如果影像是在源、主體和影像平面之間的距離不同的情況下制作的,那么第二個比例因子將會不同。
我建議通過將已知尺寸的物體與測驗物件放在同一平面上并測量結果影像來測驗您的計算。您還應該在垂直和水平方向上執行此操作,以確保影像傳感器中的像素是方形的(它們應該是方形的)。
編輯:這是影像右上角的標尺嗎?假設它是,并且它在主題的平面上,然后使用它來一次性獲得比例因子!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/516807.html
上一篇:如何在世界空間中獲取游標位置
下一篇:SwiftUI串列中的異步屬性
