python - 识别无人机图像中的汽车

标签 python opencv

我正在尝试识别无人机图像中的汽车(比如来自四轴飞行器),所以我开始使用 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()

Image 1

Image 2

Image 3

Image 4

Image 5

最佳答案

如果您可以使用 opencv 以外的其他东西,那么这个解决方案是可行的。

谢天谢地,Google 出手相救,并提供了一个非常简单的开源解决方案。

tensorflow object detection api , 使得从对象检测开始变得非常容易。您可以使用谷歌提供的模型 - detection model zoo ,或者您甚至可以自己训练。

要开始,只需遵循 installation guide您应该可以开始运行演示了!

然后按照object detection demo guide - 这应该能让您检测到许多不同类型的物体 - 从汽车、人、狗甚至风筝!

关于python - 识别无人机图像中的汽车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52239740/

相关文章:

python - 类型错误 : detail() missing 1 required positional argument: 'request'

python - 如何将空参数传递给 Popen(shell=False)?

python - 扭曲的网络获取主机:port tuple in async response

python - 用于在数据库中准备的 Scrapy 反向项目排序

c++ - OpenCV:如何迭代图像特定区域中的每个像素

qt - 标记检测到的面部的有效方法

opencv - 无法使用MacPort在带有XCode 4.2的Mac OSX 10.7.3上安装opencv

opencv - 如何使用opencv捆绑调整

python - 在 Python 列表中查找子字符串

python - 在 Python 中使用 UEye API