我正在尝试识别无人机图像中的汽车(比如来自四轴飞行器),所以我开始使用 opencv 的 haar 分类器。但是,它会产生很多误报,并且并不总是能正确检测到汽车。我原以为 CNN 更适合这项工作,但我从未做过这样的项目,我不确定如何进行。
代码:
import cv2
import numpy as np
import sys
img = cv2.imread(sys.argv[1], 1)
print(img)
car_cascade = cv2.CascadeClassifier('cars.xml')
cars = car_cascade.detectMultiScale(img, 1.1, 1)
print(len(cars))
for (x,y,w,h) in cars:
cv2.rectangle(img, (x,y), (x+w,y+h), (0,0,255), 2)
cv2.imshow('img1', img)
cv2.waitKey(5000)
cv2.destroyAllWindows()
最佳答案
如果您可以使用 opencv 以外的其他东西,那么这个解决方案是可行的。
谢天谢地,Google 出手相救,并提供了一个非常简单的开源解决方案。
tensorflow object detection api , 使得从对象检测开始变得非常容易。您可以使用谷歌提供的模型 - detection model zoo ,或者您甚至可以自己训练。
要开始,只需遵循 installation guide您应该可以开始运行演示了!
然后按照object detection demo guide - 这应该能让您检测到许多不同类型的物体 - 从汽车、人、狗甚至风筝!
关于python - 识别无人机图像中的汽车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52239740/