训练中突然报错:SyntaxError: Non-UTF-8 code starting with '\xc5' in file test.py on line 8,

是因为图片格式出错无法打开

# coding:utf-8
import os
import cv2
import sys
from random import randint
import shutil#  判断图片是否正常
def is_valid_jpg(jpg_file):#  判断jpg文件下载是否完整if jpg_file.split('.')[-1].lower() == 'jpg':with open(jpg_file, 'rb') as f:f.seek(-2, 2)return f.read() == b'\xff\xd9'else:return "this file is not jpg"#  找出文件夹下所有问题图片,重命名后移动到统一的文件夹,重命名是为了方便后期移动回原位置
def filter_jpg(root_path):for package in os.listdir(root_path):  # Cyberif package == 'error' or package=='annotations':  # 不进入error文件夹,这个文件夹单独存放问题图片continuesub1_path = os.path.join(root_path, package)for filename in os.listdir(sub1_path):file_path = os.path.join(sub1_path, filename)ans = is_valid_jpg(file_path)if ans != True:  # 若图片有问题newName = package + '_' +  str(randint(0, 1000))src = os.path.join(os.path.abspath(sub1_path), filename)dst = os.path.join(os.path.abspath(sub1_path), newName + '.jpg')try:os.rename(src, dst)  # 重命名shutil.move(dst, os.path.join(root_path, 'error', newName + '.jpg'))  # 移动图片except:print("falure")sys.exit(0)print(sub1_path)print(filename)#  修复问题图片后,保存至ok文件夹(这个文件夹要提前创建),后面需要手动移动一下修复后的图片
def repair_img(root_path):path = os.path.join(root_path, "error")_path = os.path.join(root_path, "ok")for fileName in os.listdir(path):file_path = os.path.join(path, fileName)img = cv2.imread(file_path)new_path = os.path.join(_path, fileName)cv2.imwrite(new_path, img)if is_valid_jpg(new_path):  # 新存储的图片是ok的os.remove(file_path)if __name__ == '__main__':root_path = "./    2014filter_jpg(root_path)repair_img(root_path)

定位数据集中有问题的图片位置相关推荐

  1. css ul li 图标 图片位置定位 背景定位

    css ul li 图标 图片位置定位 背景定位 这是网站页面只有一张背景图片的时代 众多大型网站都是背景图片只用一整张这种模式 背景图片的定位应用广泛 .cases li{ lineheight:2 ...

  2. ieee期刊_IEEE期刊的双栏排版中的图片位置问题

    现在有些期刊会要求双栏排版,虽然有对应的模板,但还是会出现很多排版上的问题. 今天讲的这个图片位置问题就是喵酱最近一直被困扰的问题,那就赶紧来记录一下吧,同时也分享给大家!! 首先,对于IEEE的模板 ...

  3. CSS基本知识之复合选择器、元素显示模式、背景图片位置,精灵图

    CSS基本知识之复合选择器.元素显示模式.背景图片位置,精灵图 一.复合选择器 在 CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进 ...

  4. 已知图片顶点坐标和点相对图片位置求点坐标

    给一张各个角为直角的图片,已知东北角(NouthEast)西南角(Southwest)和西北角(Northwest)位置.图片中有一个点(一定于图片内),知道该点相对于图片的位置(从图片的左上顶点开始 ...

  5. 用yolo3训练自己的数据集(包含数据搜集,图片标注,图片批量命名以及如何修改代码)——口罩佩戴以及规范佩戴口罩检验

    用yolo3训练自己的数据集--口罩佩戴及规范性佩戴检验 前言 1. 数据集处理 1.1 数据搜集(多途径) 1.2 自己制作数据集 2.图片标注 2.1 图片批量命名 2.2 使用labelimg进 ...

  6. css图片位置改变过度效果_CSS位置:绝对的,过度使用的

    css图片位置改变过度效果 Developers who know just enough CSS to get them into trouble, along with obsessive, pi ...

  7. 假设训练数据集中有10万个词,四元语法需要存储多少词频和多词相邻频率?《动手学深度学习 李沐》 转

    假设训练数据集中有10万个词,四元语法需要存储多少词频和多词相邻频率? 循环神经网络 Notes 1. 语言模型 语言模型(language model)是自然语言处理的重要技术.自然语言处理中最常见 ...

  8. 【Microsoft Word】编辑文字后,图片位置混乱的解决方法

    [Microsoft Word]编辑文字后,图片位置混乱的解决方法 参考文章: (1)[Microsoft Word]编辑文字后,图片位置混乱的解决方法 (2)https://www.cnblogs. ...

  9. 从Matlab中导出不含白边的图片及设置画布尺寸及图片位置

    1.设置画布尺寸及图片位置 figure; %创建figure1窗口 set(gcf,'position',[15 15 1800 600]);%这里设置画布长宽比为3:1,由后面两个值决定,但这两个 ...

最新文章

  1. 想挖矿?不如先学习一下以太坊
  2. Adobe Dreamweaver CS3中文版
  3. android requestFocus的使用
  4. php 字符型转变为数值,php怎么把字符串转换为数值?
  5. Linux中常用的操作指令(随时更新)
  6. androidtabhost缓存_FragmentTabHost布局的使用及优化方式
  7. Nginx+Php(FastCGI、Php-fpm)+Mysql+Zend+Memcache+Phpmyadmin+MongoDB+TT安装
  8. P1638 逛画展(直尺法)
  9. C语言经典递归算法之和式分解
  10. 【工程项目经验】Bash On Windows(WSL)无法运行32Bit程序
  11. linux RPM包安装、更新、删除等操作命令简明总结, 如何查看yum安装的软件路径 ?...
  12. 优秀的互联网项目经理/市场总监如何选择给力的互联网技术实现团队?
  13. WinRAR密码破解
  14. 自动化信任和依赖对航空安全的危害及其改进
  15. 新股发行密集时重视申购技巧
  16. Elasticsearch[2.0] ☞ Java Client API ☞ Percolate API
  17. 电脑D盘格式化了怎么恢复
  18. 遥感智能解译相关产品及公司
  19. 微信自定义分享的那些坑!
  20. HTML+CSS网页设计期末课程大作——运动系列NBA篮球主题(7页) 大学生运网页作品 篮球设计作业模板

热门文章

  1. 京东回应显卡售后服务问题
  2. 基于thinkphp6的上传excel批量生成带参数的小程序码功能
  3. 英语 | Day9、10 x 句句真研每日一句(三种结构、两个从句)
  4. js根据url获取html页面,JS 通过url地址栏获取html页面名称
  5. 利用snmp监控交换机
  6. mysql数据库添加图书信息_大项目之网上书城(八)——数据库大改添加图书
  7. js 通过 fetch 请求数据
  8. Android Studio在vivo Y93手机上调试apk出现解析包出错
  9. 初学者必读VRay 2.0光源设置(4)——使用穹顶光源
  10. 说说Unicode这个东东!