物体检测opencv
时间: 2023-11-06 15:02:29 浏览: 91
物体检测是计算机视觉领域中的一个重要任务,可以通过opencv库来实现。OpenCV是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法。下面是一个使用OpenCV进行物体检测的简单示例代码:
```python
import cv2
# 加载物体检测模型
net = cv2.dnn.readNet("path/to/model.weights", "path/to/model.config")
# 加载图片并进行预处理
image = cv2.imread("path/to/image.jpg")
blob = cv2.dnn.blobFromImage(image, 1/255.0, (416, 416), swapRB=True, crop=False)
# 将图片输入到模型中进行前向传播
net.setInput(blob)
outputs = net.forward()
# 解析模型输出
for output in outputs:
for detection in output:
scores = detection[5:]
classId = np.argmax(scores)
confidence = scores[classId]
if confidence > 0.5:
# 检测到物体,获取边界框坐标
box = detection[0:4] * np.array([W, H, W, H])
(centerX, centerY, width, height) = box.astype("int")
x = int(centerX - (width / 2))
y = int(centerY - (height / 2))
# 在图像上绘制边界框和类别标签
cv2.rectangle(image, (x, y), (x + width, y + height), (255, 0, 0), 2)
cv2.putText(image, label, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 0), 2)
# 显示检测结果
cv2.imshow("Object Detection", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文