使用Python从图像计算汽车宽度

2024-05-19 20:12:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从图像中估计出汽车的尺寸(这里是宽度)。我有3个不同的图片(不同的角度)如下所示。我用了基本的东西来确定图像的精明边缘,结果也显示在下面的图片中。以下是每辆车的基本代码:

file = 'image.jpg'
img = cv2.imread(file, cv2.IMREAD_COLOR)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
bilateral = cv2.bilateralFilter(gray, 9, 75, 75)
canny = cv2.Canny(bilateral, 50, 255)
cv2.imshow('Canny Image', canny)
cv2.waitKey(0)

Original images from different angles

Canny image results

现在,如果我使用cv2.goodFeaturesToTrack()cv2.cornerHarris()来检测角点,下面的图片显示我得到的结果非常奇怪,显示为蓝点。enter image description here

我研究过,如果我们想从二维图像计算物体的尺寸,我们至少需要2张像我们眼睛一样的图像。现在,在给定的场景下,我如何找到汽车的宽度(即从尾灯的左角到尾灯的右角的真实距离)?我有从摄像机到汽车的距离,也有每个摄像机位置之间的距离。 另外,请让我知道这样的(或相关的)工作是否已经作为开源在python或任何其他语言中存在?谢谢。在


Tags: 图像距离img宽度尺寸图片cv2汽车