【YOLOv7调整detect.py】1.调整检测框粗细,2.设定标签颜色,3.只显示与标签数目相同的检测结果

2023-10-27

1. 调整检测框粗细

detect.py中按住Ctrl+F检索line_thickness定位过去,在129行左右,更改line_thickness的大小即可,例如改为line_thickness=3

2. 设定标签颜色

detect.py中按住Ctrl+F检索colors = [[random.randint(0, 255) for _ in range(3)] for _ in names]定位过去,注释掉,然后直接写颜色矩阵,例如下面:

  • 注意:因为后面是cv2保存图像,cv2保存图像的顺序是BGR,所以颜色卡需要先手动把RGB顺序变为BGR
colors = [[97, 57, 234], [80, 176, 0], [240, 176, 0], [201, 33, 113]]   # 因为后面是cv2保存图像,cv2保存图像的顺序是BGR,所以颜色卡需要把RGB顺序变为BGR

RGB对应颜色为(在上面代码变了顺序后,能展示如下相同的颜色):

在这里插入图片描述

3. 只显示与标签数目相同的检测结果

detect.py中的source参数设置的是test数据集的位置,本节更改是实现对test数据集进行检测时,只保留检测出来的标签数量=真实标签数量的检测图片效果

  1. detect.py最上面导入包import xml.etree.ElementTree as ET
  2. Ctrl+F检索# Process detections定位过去,然后在# Process detections上面新增如下代码
        # ---------------lwd edit---------------- #
        xml_path = path.replace('images', 'annotations').replace('jpg', 'xml')
        xml_names_num = [0 for _ in range(len(names))]
        # 检查类别个数是否对得上
        tree = ET.parse(xml_path)
        root = tree.getroot()
        objects = root.findall('object')
        for obj in objects:
            cls = obj.find('name').text
            xml_names_num[names.index(cls)] += 1

        pred_names_num = [0 for _ in range(len(names))]
        # ---------------lwd edit---------------- #

在这里插入图片描述

  1. Ctrl+F检索# Save results定位过去,然后在# Save results下面做如下更改

在这里插入图片描述

            if save_img and pred_names_num == xml_names_num:    # lwd edit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【YOLOv7调整detect.py】1.调整检测框粗细,2.设定标签颜色,3.只显示与标签数目相同的检测结果 的相关文章

  • Opencv中内存Mat表示

    我知道在内存中opencv将Mat对象表示为一个大数组 因此 如果我有 3 个尺寸为 200x200 的通道垫 那么在内存中它将将该垫存储在尺寸为 3x200x200 的数组中 或者更一般地说 内存中的任何 Mat 都将存储为channel
  • 变形:Opencv 使用 Visual Studio 将图像显示到曲面屏幕

    我正在尝试使用 opencv API 来扭曲图像 以便将其显示到曲面屏幕上 我已经浏览了opencv中提供的翘曲apihere http docs opencv org 2 4 modules stitching doc warpers h
  • 如何使用 python cv2 api 将 xy 点格式化为 unactorPoints?

    我在格式化要传递给 unactorPoints 的 x y 点列表时遇到问题 opencv 2 4 1 该错误消息是 C 特定的 并抱怨点数组不是 CV 32FC2 类型 我不应该能够传入 Nx2 numpy 数组吗 import cv2
  • 使用 openCV 锐化视频图像

    我想使用 OpenCV 锐化我的图像 我在网上查看了一个示例 该示例正在对灰度图像执行锐化 我尝试了它 它工作得很好 然而 我现在尝试做同样的事情 但使用 RGB 颜色 所以我分别在三个通道上执行相同的功能 但它没有给我任何结果 图像与原始
  • 使用 cvcreateimage 使用 opencv 创建简单的黑色图像

    来自 OpenCV 新手的非常基本的问题 我只想创建一个图像 每个像素设置为0 黑色的 我在 main 函数中使用了以下代码 IplImage imgScribble cvCreateImage cvSize 320 240 8 3 我得到
  • 构建 OpenCV 时出错 :: MonitorFromRect 未在此范围内声明

    我试图建立OpenCV version 2 4 8与它一起使用CodeBlocks and MinGw 我按照以下指示进行操作here http kevinhughes ca tutorials opencv install on wind
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • 如何计算立体视觉的基本矩阵

    我正在尝试编写一些代码来计算基本矩阵以确定立体图像之间的关系 我从大多数人推荐的 Hartley 和 Zisserman 书开始 但它没有任何实际示例 并且示例代码是在 MATLAB 中 而我没有 然后我切换到这个比较实用 里面有实际例子
  • 如何使用 OpenCV 从图像中获取调色板 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想提取图像的调色板 类似于此 来自 我需要它来提取特定的颜色 如黄色 绿色和棕色 并显示该颜色覆盖的区域的百分比 另外 我可以添加更
  • 如何将图像从 np.uint16 转换为 np.uint8?

    我正在创建一个图像 image np empty shape height width 1 dtype np uint16 之后我将图像转换为 BGR 模型 image cv2 cvtColor image cv2 COLOR GRAY2B
  • 将线性数组转换为二维矩阵

    我有一个浮点指针 数组 它代表一个图像 它的元素计数和索引具有宽度 高度 图像不像矩阵 其原点位于左上角 相反 它的原点位于左下角 就像在笛卡尔坐标系中一样 达到最大宽度后 它从左侧开始下一行 所以我想有效地将 这个数组转换为二维矩阵 可选
  • ValueError:当数组不是序列时设置带有序列的数组元素

    您好 此代码旨在存储使用 open cv 绘制的矩形的坐标 并将结果编译为单个图像 import numpy as np import cv2 im cv2 imread 1 jpg im3 im copy gray cv2 cvtColo
  • 使用 SURF 在检测到的对象周围绘制矩形

    我正在尝试从涉及冲浪检测器的以下代码中检测对象 我不想绘制匹配项 我想在检测到的对象周围绘制一个矩形 但不知何故我无法获得正确的单应性 请任何人指出在哪里我走错了 include
  • OpenCV Python RTSP 流

    我想使用 RTSP 从 IP 摄像机流式传输视频 但我有一个问题 我已经安装了先决条件 而且我的 RTSP 链接可以在 VlC 播放器上运行 但是当我在编辑器中尝试并运行它时 它说找不到相机 这是我的代码 import cv2 import
  • OpenCV 读取视频文件时内存不足

    此示例从文件中读取视频cv2 VideoCapture在 python OpenCV 中内存不足 import cv2 cap cv2 VideoCapture file mp4 while True ret frame cap read
  • 如何将 OpenCV 的测试框架与 CMake 结合使用?

    好像 OpenCV 有一个测试框架 https github com Itseez opencv tree ef91d7e8830c36785f0b6fdbf2045da48413dd76 modules ts include opencv
  • Opencv 运动检测与跟踪

    我需要在网络摄像头的视频帧中进行强大的运动检测和跟踪 背景总是一样的 目的是识别物体的位置 如果可能的话没有阴影 但并不急于去除阴影 我已经尝试过用于背景减法和阈值化的opencv算法 但这仅取决于一个图像作为背景 如果背景的亮度 或相机自
  • 使用opencv+picamera流IO用树莓派捕获视频

    我使用 Raspberry 来简单地显示一个视频 目前仅此 为此 我必须使用 opencv cv2 我尝试了很多解决方案 但现在我想使用 Picamera 库捕获视频 我将向您展示我的代码 import io import time imp
  • 将向量 转换为大小为 (n x 3) 的 Mat,反之亦然

    我有 Point3d 向量 向量形式的点云 如果我使用 OpenCV 提供的转换 比如 cv Mat tmpMat cv Mat pts Here pts is vector
  • 如何识别与我的对象相关的轮廓并找到它们的几何质心

    问题陈述和背景信息 EDIT 约束 法兰上的红色会随着时间的推移而变化 所以我此时不会尝试使用颜色识别来识别我的对象 除非它足够强大 此外 外部照明也可能是一个因素 因为将来这将是在室外区域 我有 RGB 深度相机 有了它 我就能捕捉到这个

随机推荐

  • Win7和Win10 关闭驱动程序强制签名的方法

    随着windows的更新 微软对驱动签名的邀请越来越严格 Windows 10 1607以后的内核驱动没有微软签名都不能正常运行 建议大家将自己开发的驱动进行微软徽标认证 WHQL认证 以获取微软驱动签名 下面为大家介绍windows 7和
  • 拳王虚拟项目公社:淘宝虚拟货源怎么找?在哪里找虚拟资源,虚拟产品如何找到?

    淘宝的虚拟货源从哪来 卖家要知道虚拟产品有什么技巧 很多小伙伴开店开站卖的是虚拟产品 为什么新手更愿意选择虚拟产品开店呢 因为 虚拟店铺的成本非常低 利润却很高 相对于非虚拟的店铺 虚拟店铺是非常具有优势的 不过 在货源选择方面 大家同样要
  • 服务器被攻击怎么选择更好的方式去防御,IDC说的集防和单机防御都是什么意思

    只要是互联网覆盖到的地方 或多或少都会存在有网络攻击的情况 一但面对网络攻击 很有可能会出现服务器瘫痪业务无法正常进展的情况 那边怎么才能消除网络攻击的影响呢 那就是考虑接入使用高防服务器来抵挡网络攻击 高防服务器之所以称之为高防 是因为服
  • MyBatis动态SQL,foreach下批量插入

    MyBatis批量插入 mapper接口 mapping映射 测试 jdbc properties mapper接口 int forEachInsert Param list List
  • STATA基础笔记

    1 generate 可简化为 g ge gen help 简 h 2 变量也可简化 比如country 就用c 表示 前提是其他变量开头不带c 3 变量可以使用通配符 c 代表所有以c为首字母的变量 4 do文件 用来记录命令 log文件
  • 撸狗初体验

    直接上视频听我 BB https www bilibili com video av75675708 下面开始编故事 某个周末 走在去加班的路上 脚底突然被某个东西咯噔一下 抬脚一看 竟然是 捡起来一看 哈士奇 哈士奇 哈士奇 竟然是 DF
  • 编程中,有哪些好的习惯一开始就值得坚持?

    嗨 小伙伴们大家好 我是沉默王二 就是那个吹自己既有颜值又有才华的家伙 今天这个话题我觉得还是值得和大家探讨的 因为好的编程习惯对程序员的职业生涯真的非常重要 记得我在学驾照的时候 遇到一哥们 之前开过车 属于无证驾驶的那种 但是 这哥们科
  • 一键部署WeBase-FISCO-BCOS联盟链管理平台

    文章目录 一键部署 前置条件 实际使用环境 一 环境安装 ubuntu18 04 1 Java安装及环境变量配置 2 Mysql的安装及配置 3 python配置 PyMySQL部署 Python3 4 二 拉取webase部署脚本 修改w
  • PageHelper 分页查询「实现篇」

    两种情况 分两种情况 查出来为 PageQueryRespDTO 查出来直接是 Model 查出来为 PageQueryRespDTO public PageInfo
  • WS-Discovery(网络服务动态发现)协议再解读

    WS Discovery 网络服务动态发现 协议再解读 文章目录 WS Discovery 网络服务动态发现 协议再解读 1 概述 2 协议资料 3 协议介绍 1 适用范围 2 不适用 4 协议示例及wireshark抓包分析 1 客户端探
  • html想相关概念

    HTML Hypertext Markup Language 是一种用于创建网页的标记语言 它为开发者提供了一种结构化的方式来描述网页的内容和外观 本文将介绍HTML的基础知识和关键点 让读者了解如何使用HTML来构建现代网页 HTML的基
  • 将日志打印的SQL组装为可执行SQL_sublime版

    java项目日志打印的sql和条件参数是分离的 使用起来很不方便 之前为了解决这种问题 使用notepad 录制宏解决了这个问题 但是后期不方便维护 遂转用sublime 这个跟notepad 比起来有些东西不是很习惯 但是好处是插件可以自
  • 关于“网页埋点”的简单介绍与实现

    网页埋点的简单实现 本文抛开数据增长方法和埋点技术原理的大道理 通过一个简单的埋点小实例帮助大家更好的了解埋点 一 什么是数据埋点 埋点是网站和APP等产品进行日常改进及数据分析的数据采集基础 根据采集得到的用户行为数据 例如 页面访问路径
  • React源码分析(二)=> Reac初次渲染分析

    文章目录 1 render阶段 legacyRenderSubtreeIntoContainer 1 1 legacyCreateRootFromDOMContainer 1 1 1 ReactRoot 1 1 1 1 createFibe
  • [CM311-1A]-买了一个机顶盒准备刷成 Linux 盒子!

    目录 移动魔百盒 CM311 1A CM311 1A 配置 烧录系统盘将机顶盒刷成 Armbian 服务器教程发布啦 为什么非要买个盒子 拆后介绍 使用介绍 启动盒子 机顶盒怎么截屏 键盘鼠标操作 系统应用 系统设置 网络设置 空间管理 分
  • axios vue 加载效果动画_Vue 使用 axios 或者 vue-router 配置页面加载动画

    先提一笔 这篇文章是关于 Vue 页面加载动画的实现 以下介绍两种方法 使用 axios 配置全局中当发生 ajax 请求时 显示一个加载动画 当 ajax 请求结束后 隐藏加载动画 使用 Vue router 实现当页面跳转时有一个加载动
  • 图像I、B、P帧介绍

    I p b 帧 I帧 帧内编码帧 尽可能去除图像空间冗余信息来压缩传输数据量的帧内编码图像 P帧 前向预测编码帧 通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像 也叫预测帧 B帧 双向预测内插编码帧 既考虑与源
  • “区块链+物联网”的一场“网链”能顺利奔现吗?

    前不久 物联网安全高峰论坛在京举行 相关行业的专家在探讨物联网安全问题时不可避免地谈及区块链技术在物联网安全方面的独特价值 有专家指出 目前全球年产近百亿的智能终端控制芯片 真正能投入联网的还不足1 而阻碍物联网进一步发展融入大众生活中的
  • 使用Red Hat Insights注册RedHat系统

    文章目录 前因 Step 1 确认所选择的系统 Step 2 将系统注册到Red Hat Insights Step 3 具体操作演示 前因 使用SSH命令远程连接红帽系统 提示需要使用下面提示的命令进行系统注册订阅 C Users xyb
  • 【YOLOv7调整detect.py】1.调整检测框粗细,2.设定标签颜色,3.只显示与标签数目相同的检测结果

    目录 1 调整检测框粗细 2 设定标签颜色 3 只显示与标签数目相同的检测结果 1 调整检测框粗细 在detect py中按住Ctrl F检索line thickness定位过去 在129行左右 更改line thickness的大小即可