当前位置: 首页 > news >正文

计算机视觉第五课:给每个物体画 bounding box

电脑自动找到物体,并且给每个物体画一个矩形检测框,和人脸识别、YOLO 检测的逻辑一模一样!

一、先上代码

import cv2 import numpy as np # 1. 读取图片 img = cv2.imread("test.jpg") # 2. 预处理(灰度+模糊+Canny边缘) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) blur = cv2.GaussianBlur(gray, (5, 5), 0) canny = cv2.Canny(blur, 50, 150) # 3. 寻找轮廓 contours, _ = cv2.findContours(canny, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 4. 遍历每一个轮廓,给每个物体画框(核心!) for cnt in contours: # 过滤掉太小的噪点(面积<100的忽略) area = cv2.contourArea(cnt) if area > 100: # 获取物体的 左上角x,y + 宽度w + 高度h x, y, w, h = cv2.boundingRect(cnt) # 画矩形检测框(绿色,粗细2) cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2) # 标上文字:物体 cv2.putText(img, "Object", (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0,255,0), 2) # 5. 显示结果 cv2.imshow("Canny", canny) cv2.imshow("最终检测效果", img) cv2.waitKey(0) cv2.destroyAllWindows()

二、知识点

1. 过滤噪点

area = cv2.contourArea(cnt) if area > 100:
  • 计算物体面积
  • 太小的直接忽略,避免乱框杂点
  • 你可以改成200500更严格

2. 获取物体坐标(最重要)

x, y, w, h = cv2.boundingRect(cnt)
  • x, y:物体左上角坐标
  • w:宽度
  • h:高度所有目标检测都是靠这 4 个数字定位!

3. 画检测框

cv2.rectangle(img, (x, y), (x+w, y+h), (0,255,0), 2)

这就是人脸识别、车牌识别里框出目标的代码!

三、运行效果

http://www.jsqmd.com/news/915974/

相关文章:

  • Hitboxer:终极SOCD按键重映射工具,彻底解决游戏方向键冲突问题
  • 别再手动调参了!用MATLAB+NIFTI工具包一键完成脑图谱批量重采样
  • AI 系统的“黄金数据集”:为什么构建高质量的评测集比写自动化还难?
  • 2026 AI-CRM TOP6深度测评:生成式AI如何重构客户管理 - Joyky
  • 实战复盘:我是如何用SVM和PLSA搞定电商评论情感分析的(含数据集和调参心得)
  • 揭秘:为什么Windows用户需要一款专属的AirPods桌面伴侣?
  • 保姆级教程:用Arduino IDE给CH552G小键盘烧录固件(附HFS本地服务器搭建避坑指南)
  • 2026 净水器十大品牌推荐:全屋净水优选,安全省心之选
  • ▲基于BPSK调制解调+LDPC编译码+FFT频偏估计+扩频解扩通信系统matlab误码率仿真
  • 终极AMD Ryzen调试工具:专业硬件调校完全指南
  • Claude Code安装+88api中转配置一篇搞定(Windows)
  • NetTools Web版本终于有了它该有的样子
  • 别再只盯着告警了!HVV蓝队值守的‘摸鱼’时间,我是这样复盘和提升的
  • 兰州黄金上门回收平台对比2026 - 黄金回收
  • 终极视频修复指南:使用Untrunc免费拯救损坏的MP4/MOV文件
  • 发现数据背后的数学之美:SISSO符号回归算法终极指南
  • 智博会上的国产芯:重新定义 Token 价值链路
  • Claude vs GPT-4 Turbo vs Gemini 1.5 Pro:横向压测12项任务,成本效率比值首次权威发布
  • 灰度信托溢价套利机制与加密市场资金流动分析
  • 人形机器人Figure 01技术解析:多模态AI如何驱动未来人机协作
  • 其利天下圆满完成第二十届深圳国际金融博览会参展之行
  • 从Dropout到残差连接:实战中如何为你的基因预测模型选择正则化与防梯度消失策略
  • 2026年佛山市CPPM报名十大核心问题全流程答疑 - 众智商学院课程中心
  • 好用的网络投票平台推荐|2026实测口碑实用款 - 微信投票小程序
  • 洛谷P3366 【模板】最小生成树题解
  • C语言字符串格式化输出:%s精度控制与安全实践
  • EliSpot 技术:疫苗研发不可或缺的核心工具
  • TegraRcmGUI深度解析:Switch注入工具的三大核心原理与实战验证指南
  • 上海湘峰图文制作:普陀上海企业文化墙制作公司有哪些 - LYL仔仔
  • 从标准库到HAL库:一个STM32初学者的真实踩坑与避坑指南(附江科协视频推荐)