cv2.error: color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor‘

2023-05-16

该文章主要解决使用coco格式数据报错!
将标注完成的数据集通过xml2coco(转换代码)后生成coco数据集格式。运行train.py,出现标题的报错,出现该错误的原因和解决办法如下:

1.打开该数据集的xml文件,具体信息如下图所示:
在这里插入图片描述
发现filename该项只有一个数字1,并没有图片后缀(jpg、bmp、png等)信息,而对应的图片名为1.jpg,因此需要在该项添加后缀jpg,由于图片共有三千多张,对应的xml文件也有这么多个,工作量巨大,而使用coco格式读取的代码最终只会读取xml生成的.json文件,故只需要在其内添加则可。
使用notepad++打开.json文件,将", “width"替换成.jpg”, “width”,选择全部替换,因为每一个图片对应字符width,上述替换的方法可保证100%准确率。

2.替换之后运行代码仍旧报错,原因在于有的图片本身自带了.jpg信息,如下:在这里插入图片描述
因此选择删除或若数量多的话,使用.jpg替换.jpg.jpg即可。

3.在一个epoch迭代的6%的时候仍旧出现上述错误,此时我心态还是有点崩的,然后对代码debug,发现有的xml信息里面的filename序号和其本身不对应,比如我是一个2840.xml文件,打开之后发现其filename是2841.jpg,因此将该文件删除可正常运行。

总结针对上面三个问题,其主要原因在于标注数据集时不规范,导致该有的信息丢失或重复,最后使得运行的代码找不到图片而出错。

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

cv2.error: color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor‘ 的相关文章

  • 构造函数析构函数为什么没有返回值?

    构造函数析构函数为什么没有返回值 Liupq 2008 5 10 构造函数和析构函数是两个非常特殊的函数 它们没有返回值 这与返回值为void的函数显然不同 后者虽然也不返回任何值 但还可以让它做点别的事情 而构造函数和析构函数则不允许 在
  • C++ 函数模板与类模板template,以及具体化、实例化

    函数模板 需要创建针对不同参数类型的实现相同功能的不同函数 注 模板不能缩短可执行程序 最终仍是有多个独立的函数定义 另 若对不同类型的参数执行不同的算法 可以重载模板定义 前提是两函数的特征标不同 例 template
  • R获知颜色名称及对应颜色代码

    pdf D colors bar pdf height 120 par mar c 0 10 3 0 0 1 yaxs i barplot rep 1 length colors col rev colors names arg rev c
  • SQLSTATE=08S01通讯连接失败

    导致此错误的原因是连接池已经耗尽 所以在连接数据库时要记得关闭连接 防止连接用完
  • TypeError: Invalid attempt to spread non-iterable instance.

    这种错误一般是延展运算符使用出了错误 例如在一个对象前面用了延展运算符 let obj 因为obj 是一个对象 所以就会报上图的错误 let arr obj name 1
  • ubuntu 16.04安装提示end Kernel panic

    问题描述 ubuntu 最新版本VM虚拟机安装时出现错误end kernel panic not syncing corrupted stack end detected inside scheduler的解决方式 解决办法 选择自定义安装
  • R语言错误信息及相关解决方法

    原创 黄小仙 Error object of type closure is not subsettable 对象大于被取子集 看看对象是不是空的 有时候文件路径或者名称不对 数据并没有导入成功 Remove duplicates befo
  • python opencv cv2在图片中画mask掩码/掩膜

    python opencv cv2在图片中画mask掩膜 import cv2 import numpy as np from PIL import Image import matplotlib pyplot as plt mask th
  • 《算法导论》总结与分析

    算法导论总结与分析 分治 strassen算法 介绍 步骤 正确性证明 复杂度分析 排序 堆排序 介绍 步骤 构建 排序 优先队列 复杂度分析 快速排序 介绍 步骤 复杂度分析 最坏情况 最好情况 线性时间排序 介绍 步骤 复杂度分析 数据
  • 命令行下使用CL.exe编译多cpp文件工程

    一 CL exe是控制 Microsoft C 和 C 编译器与链接器的 32 位工具 编译器产生通用对象文件格式 COFF 对象 obj 文件 链接器产生可执行文件 exe 或动态链接库文件 DLL 用法如下 注意 所有编译器选项都区分大
  • Windows命令行初步:更改配色、提示符以及编码方式

    文章目录 启动和退出 窗口标题和提示符 命令行颜色 更改编码 启动和退出 按下win R 调出运行窗口 输入cmd就可以进入命令行了 在Win10以前的系统种 如果在命令行中再输入一个cmd 就会再打开一个命令行 但最近的Win11版本中
  • 项目启动卡在了Started Application in 10.266 seconds (JVM running for 13.033)

    好端端的项目启动后卡在这一行Started Application in 10 266 seconds JVM running for 13 033 日志中原本打印的执行的banner和程序都没有执行 访问那页面是404 很奇怪 因为啥东西
  • python中用pickle打开文件报错:EOFError: Ran out of input

    用pickle dump 保存文件之后如果不关闭文件就会出现此错误 f open test pkl wb pickle dump dict f f close 后面添加关闭就不会报错
  • extern C 在c/c++中的使用

    http blog csdn net jscese article details 37821961 1 问题定义 在研究操作系统源代码或者在嵌入式系统中编写程序时 经常会发现下面这种用法 cpp view plain copy print
  • Go_异常处理

    Error 异常就是程序出现了不正常的情况 会导致程序非正常停止 而异常处理就是针对非正常停止的情况 给出异常时的处理方式 语法错误不算异常体系中 error是一个接口 作用是返回程序异常的信息 errors实现了error type er
  • 提示 需要 Oracle 客户端软件 8.1.7 或更高版本 解决方案

    一 问题 1 使用第三方接口连接Oracle数据库 程序内调用接口提示 需要 Oracle 客户端软件 8 1 7 或更高版本 网上看了很多答案 依然不起效果 在公司前辈指点下 终得以找到解决办法 2 数据库 Oracle 11g 二 解决
  • [ERROR NumCPU]: the number of available CPUs 1 is less than the required 2

    出现上述错误的原因 因为物理机或者虚拟机不满足Kubernetes的基础配置造成的 而Kubernetes对GPU要求至少是2核 2G内存 W0123 08 22 23 322562 12102 validation go 28 Canno
  • error: “自定义函数XXX” must take exactly one argument

    主要问题在于 类里面的重载的二元运算符时 只需要一个参数 另一个参数由this指针传入 这里如果需要传入两个参数 需要放到类外定义 声明友元 访问私有数据和函数 如下 class myTask public myTask int a int
  • 解决Eclipse,MyEclipse出现An error has occurred,See error log for more details的错误

    src http blog sina com cn s blog 4ba5b45e0102eam8 html 现把找到的解决方法整理提供给大家 如下 方法1 在 开始 gt 运行 gt 打入 cmd 进入命令提示行后 再进入eclipse的
  • C++基础问题

    1 在 main 函数执行之前和之后的代码可能是什么 main 函数执行之前 初始化系统相关资源 设置栈指针 初始化 static 变量和 global 变量 未初始化的全局变量赋初值 全局对象初始化 这里会调用构造函数 这是可能会调用的代

随机推荐