我正在尝试识别无人机图像中的汽车(比如四架直升机上的汽车),所以我开始使用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()





发布于 2018-09-09 06:36:00
如果你可以使用opencv以外的其他东西,那么这个解决方案是可行的。
值得庆幸的是,谷歌已经提供了一个非常简单的开源解决方案。
tensorflow object detection api使得从对象检测开始变得非常容易。你可以使用谷歌提供的模型- detection model zoo,或者你也可以训练自己的模型。
要开始,只需遵循installation guide,您就可以运行演示了!
然后跟着object detection demo guide走--它会让你探测到许多不同类型的物体--从汽车,到人,到狗,甚至是风向标!
https://stackoverflow.com/questions/52239740
复制相似问题