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

先上代码

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. 运行效果
相关推荐
冬奇Lab13 小时前
Agent 系列(23):Web Agent——让 Agent 真正浏览网页
人工智能·llm·agent
冬奇Lab14 小时前
每日一个开源项目(第135篇):codebase-memory-mcp - 给 AI Agent 一张代码库的知识图谱
人工智能·开源·llm
IT_陈寒16 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
jooloo20 小时前
Codex 间歇性 400 之谜:一条对话里,它为什么有时候用 chat/completions,有时候切到 responses?
人工智能
用户51914958484520 小时前
OpenSSL PKCS#12 PBMAC1 堆栈缓冲区溢出漏洞 (CVE-2025-11187) 分析与验证
人工智能·aigc
小小杨树20 小时前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色
用户51914958484521 小时前
HP Sound Research SECOMNService 权限提升漏洞利用工具
人工智能·aigc
用户0183493016921 小时前
给 AI 智能体能力包一层 BFF,前端只调一个接口
人工智能