10行Python代码实现目标检测功能

分类:知识百科 日期: 点击:0

Python是一种功能强大的编程语言,用它可以实现各种各样的功能,其中之一就是目标检测。目标检测是指在图像中识别出特定的目标,如人脸、行人、动物等。下面就介绍一下用10行Python代码实现目标检测的方法:

1. 导入必要的库

import cv2
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

2. 加载图片

img = cv2.imread('image.jpg')
plt.imshow(img)

3. 加载模型

net = cv2.dnn.readNetFromCaffe('model.prototxt', 'model.caffemodel')

4. 将图片转换为blob格式

blob = cv2.dnn.blobFromImage(img, scalefactor=1.0, size=(300, 300), mean=(104.0, 177.0, 123.0))

5. 将blob输入模型中进行推断

net.setInput(blob)
detections = net.forward()

6. 遍历检测结果

for i in range(detections.shape[2]):
    confidence = detections[0, 0, i, 2]
    if confidence > 0.5:
        # 获取目标的坐标
        box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
        (startX, startY, endX, endY) = box.astype("int")
        # 画出检测框
        cv2.rectangle(img, (startX, startY), (endX, endY), (0, 255, 0), 2)

7. 显示检测结果

image = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.imshow(image)

8. 保存检测结果

cv2.imwrite('detected.jpg', img)

以上就是实现目标检测功能的10行Python代码,它们分别是:导入必要的库、加载图片、加载模型、将图片转换为blob格式、将blob输入模型中进行推断、遍历检测结果、显示检测结果、保存检测结果。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。