计算机视觉第四课:寻找轮廓(自动框出所有物体)

先上代码

python 复制代码
import cv2
import numpy as np

# 1. 读取图片
img = cv2.imread("test.jpg")

# 2. 预处理:灰度 + 模糊(必须做,不然轮廓很乱)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray, (5,5), 0)

# 3. Canny边缘检测
canny = cv2.Canny(blur, 50, 150)

# 4. 寻找轮廓(核心!)
contours, hierarchy = cv2.findContours(
    canny,                # 边缘图
    cv2.RETR_EXTERNAL,    # 只找最外层轮廓
    cv2.CHAIN_APPROX_SIMPLE # 简化轮廓点(提速)
)

# 打印找到几个物体
print(f"找到 {len(contours)} 个物体轮廓!")

# 5. 把所有轮廓画出来(红色,粗细2)
cv2.drawContours(img, contours, -1, (0, 0, 255), 2)

# 6. 显示结果
cv2.imshow("Canny Edge", canny)
cv2.imshow("Detected Contours", img)

cv2.waitKey(0)
cv2.destroyAllWindows()
  1. 寻找轮廓

cv2.findContours(边缘图, 模式, 方法)

  1. 画轮廓

cv2.drawContours(原图, 轮廓列表, 画第几个, 颜色, 粗细)

-1 :画所有轮廓

  1. 运行效果
相关推荐
复杂网络与机器学习23 分钟前
全双工 160 毫秒一格:李沐让模型不再「一问一答」
人工智能
武子康28 分钟前
Qwen-Drive 的 91.4 分,究竟选中了什么?
大数据·人工智能·agent
王中阳Go1 小时前
你把重试加到 2 次那天,200 条里成功还是 181 条,你回看过吗?
人工智能·后端·架构
北杨1 小时前
三键之内的意图:用 AIUI 在 Rokid 眼镜上做一个能玩的 21 点
人工智能
火山引擎开发者社区1 小时前
给企业配一双 AI 的手:火山引擎 OS Agent 替你操作手机和电脑
前端·人工智能
神鹰手哥_起飞版1 小时前
我是怎么管理 Coding Agent 的:把任务交出去,也把结果验回来
人工智能·架构·产品经理
泯泷2 小时前
你的 AI 知识库为什么答非所问?问题出在“切块”这一刀
人工智能
国科安芯2 小时前
算力上天之后的电与静:星上边缘计算载荷带外管理网络的低功耗调度与辐射容错
网络·人工智能·嵌入式硬件·安全·边缘计算·低轨卫星·商业航天
kisdiem2 小时前
让 AI 边玩游戏边编写世界规则:从 XLand 到 ARC-AGI-3 的实验记录
人工智能·agi·玩游戏
kaixin_啊啊3 小时前
【零基础学AI】第 27 章课后练习与答案
人工智能