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

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

一、代码

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. 画框逻辑

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

相关推荐
2601_96288572几秒前
让 AI Agent 自动收盘复盘:定时取全市场数据 + 生成复盘
人工智能
2501_9181269112 分钟前
如何使用ai预防ai爆破服务器
人工智能
马剑威(威哥爱编程)15 分钟前
【HarmonyOS 7 小艺智能体实战】10:提交、审核、上架与上线后——把服务真正交给用户
人工智能·华为·harmonyos
yyk3332415 分钟前
YOLOv3算法
人工智能·yolo·目标跟踪
cooldream200917 分钟前
AI 时代编程学习路线图:四个阶段,从零基础到独立交付
人工智能·编程学习
马剑威(威哥爱编程)17 分钟前
【HarmonyOS 7 小艺智能体实战】08:在真机上把它跑起来——调试与预览
人工智能·华为·harmonyos
高洁0121 分钟前
知识图谱:结构化表达实体与关系的知识组织技术
人工智能·python·深度学习·机器学习·迁移学习
雾喔23 分钟前
从零理解大语言模型:AI、LLM、训练成本与手机助手的底层逻辑
人工智能·语言模型·智能手机
云飞云共享云桌面23 分钟前
非标自动化工厂研发部门怎么实现一台服务器带10个SolidWorks设计并发
运维·服务器·人工智能·3d·自动化·电脑·制造
硅谷秋水26 分钟前
Agentic World Action Models(AW-0)贡献与不足分析
人工智能·机器学习·计算机视觉·语言模型·机器人