import cv2
import random
import oscount = 0
for ind in range(3):for dir in os.listdir('/home/lixuan/桌面/back/coco/labels/train'):try:image = cv2.imread('/home/lixuan/桌面/back/coco/images/train/{}'.format(dir.replace('txt','jpg')))if image is None:image = cv2.imread('/home/lixuan/桌面/back/coco/images/train/{}'.format(dir.replace('txt', 'JPG')))if image is None:image = cv2.imread('/home/lixuan/桌面/back/coco/images/train/{}'.format(dir.replace('txt', 'jpeg')))h, w, _ = image.shapeX, Y = w // 2, h // 2boxss = []clss = []with open('/home/lixuan/桌面/back/coco/labels/train/{}'.format(dir)) as f:datas = f.readlines()for data in datas:data = data.strip().split(' ')clss.append(data[0])x = float(data[1]) * wy = float(data[2]) * hw_ = float(data[3]) * wh_ = float(data[4]) * h# x1 = int(x - w_ // 2)# y1 = int(y - h_ // 2)# x2 = int(x + w_ // 2)# y2 = int(y + h_ // 2)# boxs.append([x1,y1,x2,y2])boxss.append([x, y,w_,h_])dx, dy = random.randint(-(w // 10), w // 10), random.randint(-(h // 10), h // 10)X_new, Y_new = X + dx, Y + dy# boxs[0],boxs[2],boxs[1],boxs[3] = boxs[0] + dx,boxs[2] + dx,boxs[1] + dy,boxs[3] + dy# boxs[0], boxs[1] = boxs[0] + dx, boxs[1] + dyW, H = random.randint(w // 2, w - abs(dx)), random.randint(h // 2, h - abs(dy))x1 = max(X_new - W // 2, 0)y1 = max(Y_new - H // 2, 0)x2 = max(x1 + W, 0)y2 = max(y1 + H, 0)img = image[y1:y2, x1:x2]cv2.imwrite('/home/lixuan/桌面/back/coco/images/exp/{}.jpg'.format(count),img)fw = open('/home/lixuan/桌面/back/coco/labels/exp/{}.txt'.format(count),'w')for index,boxs in enumerate(boxss):boxs[0], boxs[1] = boxs[0] - x1, boxs[1] - y1xx = float(boxs[0])yy = float(boxs[1])ww = float(boxs[2])hh = float(boxs[3])x1_ = max(int(xx - ww // 2), 0)y1_ = max(int(yy - hh // 2), 0)x2_ = max(int(xx + ww // 2), 0)y2_ = max(int(yy + hh // 2), 0)x1_ = min(x1_, W)y1_ = min(y1_, H)x2_ = min(x2_, W)y2_ = min(y2_, H)www = x2_ - x1_hhh = y2_ - y1_centerx = (x1_ + x2_)/2centery = (y1_ + y2_)/2if www != 0 and hhh != 0:if max(www,hhh)/min(www,hhh) < 4:fw.write(clss[index] + ' ' + str(centerx/W) + ' ' + str(centery/H) + ' ' + str(www/W) + ' ' + str(hhh/H) + '\n')# img = cv2.rectangle(img, (x1_, y1_), (x2_, y2_), (255, 0, 0))# img = cv2.rectangle(img,(boxs[0],boxs[1]),(boxs[2],boxs[3]),(255,0,0))# img = cv2.circle(img, (int(boxs[0]), int(boxs[1])),10, (255, 0, 0),-1)#cv2.circle(img, (x4, y4), 3, (0, 0, 255), -1)# cv2.imshow('',img)# cv2.waitKey(0)count += 1except Exception as e:print(dir,e,'*'*30)

目标检测拉近镜头数据增强相关推荐

  1. 目标检测中的数据增强

    目标检测中的数据增强 技术标签: 深度学习 人工智能 一.图像遮挡 ①random erase 用随机值或训练集的平均像素替换图像区域. URL: https://arxiv.org/pdf/1708 ...

  2. 汇总|目标检测中的数据增强、backbone、head、neck、损失函数

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:Tom Hardy https://zhuanlan.zhihu.com/p/137769687 ...

  3. 目标检测中的数据增强:mosaic,mixup,cutout,cutmix

    认真读绝对不亏,不要看到全是字就 怕  了. 最近学目标检测,在看yolov4的时候,看到了mosaic数据增强方法,所以查阅了一些知识,因为网上的讲解都注重于原理,不注重详细的实现方法以及细节,而工 ...

  4. 目标检测 慎用旋转数据增强

    目录 概述 一个具体的例子 原因分析 影响分析 总结建议 概述 在进行SSD.YOLO等目标检测类模型训练的时候,为了提升模型的识别率和泛化能力,一般会采用数据增强策略,主要包括调整图片的亮度.对比度 ...

  5. 目标检测中的数据增强,包括bbox的变换

    检测和分类不同,检测过程中,图片处理以后,bbox往往也需要同步变换 里面碰到最坑的地方,在于cv.rectangle(),如果是对图像进行操作,一定要deepcopy 文章目录 1. 水平翻转 1. ...

  6. 目标检测使用的数据增强方法汇总

    向AI转型的程序员都关注了这个号

  7. 目标检测带标签数据增强代码

    注意:我的数据集名字从1开始的,所以是for i in range(1,num),所以倒数第三句 str(i + num-1) 如果是从零开始就不用-1.另外文件名以及图片大小(1280,1024)也 ...

  8. BBAug: 一个用于PyTorch的物体检测包围框数据增强包

    本文转载自AI公园. 作者:Harpal Sahota 编译:ronghuaiyang 导读 实现了Google Research,Brain Team中的增强策略. 像许多神经网络模型一样,目标检测 ...

  9. 六、肺癌检测-训练指标和数据增强

    上一篇文章讲了训练过程和tensorboard可视化,这一篇文章记录下训练指标和数据增强的东西. 五.肺癌检测-数据集训练 training.py model.py_wxyczhyza的博客-CSDN ...

  10. 3D目标检测深度学习方法数据预处理综述

    作者 | 蒋天元 来源 | 3D视觉工坊(ID: QYong_2014) 这一篇的内容主要要讲一点在深度学习的3D目标检测网络中,我们都采用了哪些数据预处理的方法,主要讲两个方面的知识,第一个是rep ...

最新文章

  1. python做定时任务的方式及优缺点_python BlockingScheduler定时任务及其他方式的实现...
  2. Oracle Database 11g的使用
  3. 四则运算个人项目反思总结
  4. php底层实现也是c语言,深入php内核,从底层c语言剖析php实现原理
  5. 安卓怎么显示res文件夹中的html_android中自定义WebView显示网页或本地html文件 | 学步园...
  6. osg::ComputeBoundsVisitor用法(一)
  7. mybatis学习(21):MySQL 字符串 转换 CAST与CONVERT 函数的用法
  8. java tomcat eclipse 环境变量配置
  9. 正态分布表怎么查表_《深入浅出统计学》-读书笔记-再谈正态分布的应用
  10. 杀死 tomcat 进程的脚本
  11. 机器学习:维度灾难(Curse of Dimensionality)
  12. List集合之LinkedList
  13. 网易云音乐,如何修改文件品质为320Kbps
  14. TCP/IP常见攻击手段
  15. 能源消耗总量计算公式_能耗计算公式
  16. 开源 LighterWebGameEngine框架.外带用框架制作的 网游五彩连珠.
  17. 通信运营商客户流失预测
  18. [Windows_Server_2012优化V1.1_20140425]
  19. android+iphone+共用字体,【报Bug】苹果和安卓手机 字体大小颜色字重都一样 效果却不同...
  20. 安川e1000中文说明书_安川变频器E1000快速使用指南.pdf

热门文章

  1. 零代码与低代码快速开发平台的区别
  2. navicat报错 Access violation at address in module ‘navicat.exe‘
  3. OC中链式编程和函数式编程
  4. 【微信小程序云开发 云数据库 云函数 云存储】
  5. c语言韦达定理求方程解,高一上韦达定理,高次,多元方程解法.doc
  6. 我的美国CS面试经验分享
  7. Qt 6.2的下载和安装
  8. 关于DM MPP的搭建
  9. 数据库版本管理(flyway)
  10. [附源码]java毕业设计政府公用车辆管理系统