🎯 OpenCV目标检测教程


什么是目标检测?

目标检测是计算机视觉中的核心任务之一,旨在识别图像或视频中的特定对象并标注其位置。OpenCV提供了多种预训练模型和API,可快速实现这一功能。


快速入门步骤

  1. 安装OpenCV
    使用pip安装最新版本:

    pip install opencv-python
    

    ⚠️ 注意:若需更高级功能,建议安装opencv-contrib-python扩展包。

  2. 加载预训练模型
    以YOLOv3为例,使用以下代码加载模型:

    import cv2
    net = cv2.dnn.readNet("yolov3.weights", "yolov3.cfg")
    

    🔍 点击查看YOLOv3模型结构详解

  3. 读取并处理图像

    img = cv2.imread("test.jpg")
    blob = cv2.dnn.blobFromImage(img, 1/255.0, (416,416), swapRB=True, crop=False)
    

    📷 示例图像:目标检测输入

  4. 执行检测

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

    📊 检测结果可视化示例

  5. 绘制检测框
    遍历检测结果并标注目标:

    for detection in detections:
        for obj in detection:
            if obj[4] > 0.5:  # 置信度阈值
                x1, y1, x2, y2 = map(int, obj[5:9])
                cv2.rectangle(img, (x1, y1), (x2, y2), (0,255,0), 2)
    

    🖼 输出图像:检测目标


常见应用场景

  • 安防监控:实时识别可疑行为
  • 自动驾驶:检测行人、车辆等交通元素
  • 工业质检:定位缺陷区域

🔗 了解更多OpenCV应用案例