该函数将源图结合input_size,将其转换成预投喂的方形图像(作者默认544×544,中间为缩小尺寸的源图,上下空区域为灰图)

# D·C191107:图像处理函数,参数分别为(输入图片,输入方形框尺寸,还有个不管)
def image_preporcess(image, target_size, gt_boxes=None):# D·C 191107:不懂为何转换数据类型,节省存储空间?一般默认float64image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)ih, iw = target_sizeh, w, _ = image.shape# D·C 191107:取两个值中较小的一个作为scalescale = min(iw / w, ih / h)# D·C 191108:不懂这步操作啥意思,从代码上看就是创建一对与原图等比缩小的子图尺寸变量nw, nh = int(scale * w), int(scale * h)# D·C 191108:创建一个按比例变换后的图片image_resized = cv2.resize(image, (nw, nh))# D·C 191108:创建一张iw×ih分辨率的图片,以灰色填充(128 128 128)image_paded = np.full(shape=[ih, iw, 3], fill_value=128.0)# D·C 191108:创建步长变量?不太懂原理dw, dh = (iw - nw) // 2, (ih - nh) // 2# D·A 191108:打印几个变量看看# print('(w,h):({},{})'.format(w, h))# print('(iw,ih):({},{})'.format(iw, ih))# print('(nw,nh):({},{})'.format(nw, nh))# print('(dw,dh):({},{})'.format(dw, dh))# (w, h): (1280, 720)# (iw, ih): (544, 544)# (nw, nh): (544, 306)# (dw, dh): (0, 119)# D·A 191108:打印对象类型看看:# print(type(image_resized))# <class 'numpy.ndarray'># print(type(image_paded))# <class 'numpy.ndarray'># D·A 191108:打印图片形状看看:# print(image_resized.shape)# (306, 544, 3)# print(image_paded.shape)# (544, 544, 3)# D·C 191108:从dh到nh + dh行,dw到nw + dw列,所有维(下标0-2),全部用image_resized的值替换# 用图画出来就是把等比例缩小后的图片image_resized(544×306)置入544×544的image_paded中(沿水平中心线对称)image_paded[dh:nh + dh, dw:nw + dw, :] = image_resized# D·C 191108:将数组转换成0-1之间的小数表示:image_paded = image_paded / 255.# 打印image_paded看看,还是不看了,太多!# print(image_paded)if gt_boxes is None:return image_paded# D·C 191108:暂时不管它干嘛用的。else:gt_boxes[:, [0, 2]] = gt_boxes[:, [0, 2]] * scale + dwgt_boxes[:, [1, 3]] = gt_boxes[:, [1, 3]] * scale + dhreturn image_paded, gt_boxes

tensorflow-yolov3 yunyang1994 image_preporcess(image, target_size, gt_boxes=None)函数 image_preprocess相关推荐

  1. tensorflow yolov3训练自己的数据集,详细教程

    这个教程是我在自己学习的过程中写的,当作一个笔记,写的比较详细 在github上下载yolov3的tensorflow1.0版本: https://github.com/YunYang1994/ten ...

  2. 归一化(Normalization)标准化(Standarlization)tensorflow和opencv区别:opencv之transform函数解析CHW与HWC:图像的线性数据格

    目录 归一化:transforms.Normalize 归一化(Normalization) 标准化(Standarlization) tensorflow和opencv区别:opencv之trans ...

  3. Tensorflow yolov3 Intel Realsense D435 双摄像头下测试python多线程(假的多线程)self.predict()函数运行时间(191204)

    测试代码: # -*- coding: utf-8 -*- """ @File : test-191204-两个摄像头调用多线程识别.py @Time : 2019/12 ...

  4. Tensorflow yolov3 Intel Realsense D435 单摄像头下各模块识别时间测试

    文章目录 1.一次循环总耗时 2.从循环开始到self.predict()之前 3.第一次循环主要耗时函数:wait_for_frames()(其实self.predict()函数在第一次循环更耗时) ...

  5. Tensorflow YOLOv3实现与详解

    tips:大部分资源来自https://www.jianshu.com/p/3943be47fe84,这里权当一组学习记录. 另外推荐一个英文详解blog:YOLO V3 PyTorch实现 1 环境 ...

  6. Tensorflow yolov3 Intel Realsense D435 多进程multiprocessing线程池pool识别时间测试

    单摄像头下: 耗时:3.571178674697876秒 耗时:0.0682528018951416秒 耗时:0.07838797569274902秒 耗时:0.08464503288269043秒 ...

  7. Tensorflow yolov3 Intel Realsense D435 识别时间测试

    CPU:i75820k GPU:GTX1080 Ti 内存:32G 测试1:两摄像头并发 耗时:0.1476612091064453秒 耗时:0.18199372291564941秒 耗时:0.140 ...

  8. 深度学习--TensorFlow(6)神经网络 -- 拟合线性函数非线性函数

    目录 一.拟合线性函数 1.生成随机坐标 2.神经网络拟合 代码 二.拟合非线性函数 1.生成二次随机点 2.神经网络拟合 代码 一.拟合线性函数 学习率0.03,训练1000次: 学习率0.05,训 ...

  9. tensorflow dataset_ops map()方法 (返回数据集通过函数“ map_func”的元素映射)

    def map(self, map_func, num_parallel_calls=None):"""Maps `map_func` across the elemen ...

最新文章

  1. 《趣学Python编程》——2.3 使用变量
  2. gta5结局杀老崔我哭了_都已经2020年了,怎么还有人在买GTA5?
  3. VTK:相互作用之TrackballCamera
  4. NetBeans eclipse比較
  5. 掌握Python爬虫基础,仅需1小时!
  6. Web3.0 兴起之际,元宇宙这杯羹怎么分?
  7. swift基础之_swift调用OC/OC调用swift
  8. 排序算法—归并排序(思维导图思路整理)
  9. apache jmeter 使用简介
  10. JavaScript算术运算中前加加与后加加
  11. 紫光输入法linux,紫光拼音输入法下载_紫光拼音输入法最新版下载-太平洋下载中心...
  12. matlab自带滤波器,matlab自带滤波器函数小结(图像处理)
  13. 编程c 语言怎么表示倍数,C语言里怎么表示是3的倍数
  14. 大佬总结的4条宝贵经验,送给初入职场的你,从此一飞冲天
  15. 手把手教你绘制自定义地图
  16. input type属性
  17. JavaWeb之jsp
  18. 笔记本_cpu_突然性能下降_cpu锁频_cpu降频_重装无用_解锁办法
  19. web自动化验证码处理
  20. oracle_day5_程序包

热门文章

  1. 【PP】重复生产参数文件说明
  2. 【整理】如何翻译SAP事务代码描述
  3. 1、Power View—使用前的准备
  4. SAP推出下一代数字转型平台SAP HANA 2
  5. 关于信用管理--信用更新
  6. Function实现ALV Table六:页眉页脚
  7. Leave List-Processing 新解
  8. 变革后的维密,做了一款不赚钱的内衣
  9. 高压线下,恶俗短视频为何仍在批量生产?
  10. linux pip 安装 python,Linux之安装本地Python和pip