You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将图像两点像素距离转换为实际物理距离(米)

如何将X光片上的像素距离转换为实际物理距离?

已知信息

  • 图像上的两个坐标点:

    Point N: (x = 2314, y = 751), 图像宽2880像素,高2304像素
    Point S: (x = 1533, y = 670), 图像宽2880像素,高2304像素

  • 已用matplotlib完成点的可视化(图像:X光片点可视化)
  • X光机与X光片的距离(焦片距)为180cm

已完成操作

我已通过Python的math库计算出两点间的像素距离:

import math
N = (2314, 751)
S = (1533, 670)
distance = math.sqrt( ((N[0]-S[0])**2)+((N[1]-S[1])**2) )
print(distance)

得到结果:755.2747844327918 像素

核心问题

如何将上述像素距离转换为实际物理距离(单位:米)?


转换方法

要完成像素到实际距离的转换,核心是获取像素与实际尺寸的对应比例,具体步骤如下:

1. 确定比例系数

你需要知道X光片的实际物理尺寸(比如实际宽度或高度的厘米数),以宽度为例,比例系数计算方式为:

厘米/像素 = X光片实际宽度(cm) / 图像像素宽度

举个例子:如果你的X光片实际宽度是35cm,图像宽2880像素,那么比例系数就是 35 / 2880 ≈ 0.01215 cm/像素

2. 计算实际物理距离

用像素距离乘以比例系数,再转换为米:

# 替换actual_width_cm为你的X光片实际宽度
pixel_distance = 755.2747844327918
actual_width_cm = 35  
cm_per_pixel = actual_width_cm / 2880
actual_distance_cm = pixel_distance * cm_per_pixel
actual_distance_m = actual_distance_cm / 100  # 转换为米单位
print(actual_distance_m)

关于焦片距的补充说明

  • 如果只是测量X光片本身的物理长度,不需要用到焦片距;
  • 如果要还原被拍摄物体(比如体内病灶)的真实尺寸,需要结合焦片距和物体到X光机的距离计算放大率:
    放大率 = 焦片距 / (焦片距 - 物体到X光机的距离)
    物体真实尺寸 = 片子上的测量尺寸 / 放大率
    

内容的提问来源于stack exchange,提问作者Niloy Biswas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 02:40:32