计算机视觉第六课:打开摄像头,实时框出物体

打开你电脑的摄像头,画面里所有物体都会实时自动画框,和监控、人脸识别逻辑完全一样!

一、代码

python 复制代码
import cv2
import numpy as np

# 1. 打开摄像头(0 = 默认摄像头)
cap = cv2.VideoCapture(0)

# 无限循环,一帧一帧读取画面
while True:
    # 2. 读取每一帧画面
    success, img = cap.read()
    if not success:
        break

    # 3. 图像处理(灰度 + 模糊 + Canny边缘检测)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    blur = cv2.GaussianBlur(gray, (5, 5), 0)
    canny = cv2.Canny(blur, 50, 150)

    # 4. 寻找轮廓
    contours, _ = cv2.findContours(canny, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    # 5. 遍历所有物体,实时画框
    for cnt in contours:
        area = cv2.contourArea(cnt)
        # 过滤小噪点,只框大物体
        if area > 500:
            x, y, w, h = cv2.boundingRect(cnt)
            # 画绿色检测框
            cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)

    # 显示实时画面
    cv2.imshow("Canny Edge", canny)
    cv2.imshow("Camera Object Detection", img)

    # 按 Q 键退出程序
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放摄像头,关闭窗口
cap.release()
cv2.destroyAllWindows()

二、关键代码解释

  1. 打开摄像头
python 复制代码
cap = cv2.VideoCapture(0)
  • 0 = 电脑自带摄像头
  • 如果是外接摄像头,改成 1

2. while True 循环

视频 = 一连串连续的图片(帧) 循环就是每秒读取几十次画面,处理后显示出来。

3. 画框逻辑

和上一课完全一样!只是从 "处理一张图片" 变成了 "处理每一帧画面"。

相关推荐
人工智能技术咨询.11 小时前
具身智能中的世界模型训练
人工智能
LaughingZhu11 小时前
Product Hunt 每日热榜 | 2026-10-06
人工智能·深度学习·神经网络·搜索引擎·百度
AOI小白新手上路11 小时前
AOI 缺陷检测复现实操指南:Anomalib + MVTec AD(glass)与 YOLOv8 + NEU-DET 两条路线
人工智能·深度学习·yolo
henrylin999911 小时前
RD-AGENT 第一讲 · AI 因子工厂是怎么运转的
人工智能
高洁0111 小时前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
无线通信科研笔记11 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
Devlive 开源社区11 小时前
AuthX 正式更名 GrantForge:我们重新做了一遍权限管理系统
大数据·人工智能·架构
朝朝辞暮i12 小时前
VLA 系统学习第 1 课:VLA 到底在干什么?
人工智能·python·计算机视觉·vla
鲲穹AI种草12 小时前
AI 壁纸生成工具怎么选?鲲穹 AI 壁纸工具功能实测与横向对比
人工智能·壁纸生成工具
科技林总12 小时前
向量与重排模型
人工智能