gpt4 book ai didi

opencv - 如何通过了解像素和相机与物体之间的距离来计算图像尺寸?

转载 作者:行者123 更新时间:2023-12-02 17:26:33 25 4
gpt4 key购买 nike

我已经在opencv-python中编写了一个代码,用于计算对象的高度和宽度中的像素数。
可以说

高度 = 567像素
宽度 = 324像素
我还具有相机的 KNOWN_FOCAL_LENGTH ,以及原始对象和相机之间的距离。

# Getting the biggest contour
cnt = max(contours, key = cv2.contourArea)
cv2.drawContours(image, cnt, -1, (0, 255, 0), 3)

peri = cv2.arcLength(cnt, True)
approx = cv2.approxPolyDP(cnt, 0.005* peri, True)

# get the bounding rect
x, y, w, h = cv2.boundingRect(approx)

print("Width in pixels : {}, Height in pixels : {}".format(w,h))


# draw a green rectangle to visualize the bounding rect
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
WidthData = "Width : {} mm".format(round(w/scaling_factor,2))
HeightData = "Height : {} mm".format(round(h/scaling_factor,2))
textData = WidthData + ", " + HeightData
cv2.putText(image, textData, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 0), 2)

print(WidthData)
print(HeightData)

cv2.imshow('Result', image)

如何计算可将我的number_of_pixels转换为original_length的因子
图片 ?
如何计算 scale_factor

最佳答案

您需要一种将像素的度量转换为米的度量的方法。按照准确性的顺序,可能的方法是这样做。

  • 查找相机传感器的物理尺寸,例如来自相机的规格表,或者,如果幸运的话,来自图像中存储的元数据以及像素(EXIF header )
  • 在场景中放置一个已知大小的对象。
  • 直接将焦距从像素缩放到毫米(由镜头指定)。
  • 关于opencv - 如何通过了解像素和相机与物体之间的距离来计算图像尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59044760/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com