编写一个目标检测程序Python
时间: 2023-11-16 09:08:48 浏览: 26
以下是一个基本的目标检测程序示例,它使用OpenCV和Haar级联分类器来检测人脸:
```python
import cv2
# 加载Haar级联分类器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 加载图像
img = cv2.imread('test.jpg')
# 将图像转换为灰度
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 在灰度图像上检测人脸
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
# 在原始图像上绘制边界框
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
# 显示结果图像
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在此示例中,我们首先加载了一个Haar级联分类器,然后加载了一张测试图像。然后将图像转换为灰度,以便更容易进行人脸检测。使用`detectMultiScale`函数在灰度图像上检测人脸。该函数返回一个元组,其中包含检测到的所有人脸的坐标。最后,在原始图像上绘制边界框并显示结果。
请注意,此示例仅适用于检测人脸。要检测其他对象,您需要使用不同的Haar级联分类器或使用其他技术,例如卷积神经网络(CNN)或区域卷积神经网络(RCNN)。