我有一个512x512 CT图像。如何找到像素A =(151,30)和B =(200,300)之间的距离?我应该使用哪种方法?我将图像转换为np.array,但是我不知道下一步该怎么做:
npimage=np.array(img)
0.675781和0.675781是单个像素的宽度和高度,单位为mm
答案 0 :(得分:2)
您需要两个像素的x和y位置。但是一旦有了这些,使用math
模块就可以相对容易地实现距离。
import math
def calculateDistance(x1, y1, x2, y2):
dist = math.sqrt( (x2 - x1)**2 + (y2 - y1)**2 )
return dist
pixel_pos1 = [10, 20]
pixel_pos2 = [5, 20]
distance = calculateDistance(
pixel_pos1[0],
pixel_pos1[1],
pixel_pos2[0],
pixel_pos2[1]
)
将calculateDistance
返回的距离转换为毫米,您必须将该距离乘以屏幕上像素的大小。
mm = distance * 0.675781
请记住,屏幕上的像素大小会随屏幕的不同而变化