深度学习神经网络训练读入的都是numpy数组,一般直接读取图片在做预处理送入模型训练时很浪费时间的,我们可以提前将数据转成.npy格式的文件,并且数据的预处理也可以在这里完成。那么,将预处理好的数据直接送入网络就可以节省很多的时间了。

关于下面有关raw数据读取看不懂的可以查看我的另外一篇专门敢于读raw数据转png图片的博客,里面有解释。

# -*- coding:utf8 -*-import numpy as np
import cv2
import osdef oneimg2npy_(root_dir, out_path):filelist = os.listdir(root_dir)"读取raw数据时使用"# 文件排序filelist.sort(key=lambda x: int(x.split('_')[5]))for file in filelist:bayer = np.zeros(shape=2073600, dtype='uint16')file_path = os.path.join(root_dir, file)with open(file_path, "rb") as f:for i in range(0, len(f.read()), 2):f.seek(i)raw = f.read(2)a1 = int((raw[0] / 16) % 16)a2 = int(raw[0] % 16)a3 = int((raw[1] / 16) % 16)a4 = int(raw[1] % 16)value = a3 * 256 + a4 * 16 + a1 * 1bayer[int(i / 2)] = valuebayer = bayer.reshape(1080, 1920)height, width = bayer.shape[0], bayer.shape[1]# print(height, width)h = height // 2w = width // 2R = np.zeros(shape=(h, w), dtype='uint16', order='C')Gr = np.zeros(shape=(h, w), dtype='uint16', order='C')Gb = np.zeros(shape=(h, w), dtype='uint16', order='C')B = np.zeros(shape=(h, w), dtype='uint16', order='C')for x in range(height):for y in range(0, width, 2):if x % 2 == 0:R[int(x / 2)][int(y / 2)] = bayer[x][y]Gr[int(x / 2)][int(y / 2)] = bayer[x][y + 1]elif x % 2 == 1:Gb[int(x / 2)][int(y / 2)] = bayer[x][y]B[int(x / 2)][int(y / 2)] = bayer[x][y + 1]out = np.stack((R, Gr, Gb, B))out = out.astype(np.float32)if not os.path.exists(out_path):os.makedirs(out_path)np.save(os.path.join(out_path, './{}.npy'.format(file.split(".")[0])), out)print("saved: {}".format(file))f.close()print("raw finished")"读取rgb数据时使用"filelist.sort(key=lambda x: int((x.split('_')[5]))for file in filelist:file_path = os.path.join(root_dir, file)label = cv2.imread(file_path)# label = cv2.resize(label, (960, 540), interpolation=cv2.INTER_NEAREST).astype(np.float32)label = np.transpose(label, (2, 0, 1))if not os.path.exists(out_path):os.makedirs(out_path)np.save(os.path.join(out_path, './{}.npy'.format(file.split(".")[0])), label)print("rgb finished")if __name__ == '__main__':_ = oneimg2npy_(root_dir='', out_path='')

Python 批量将raw数据或图片一一存成.npy文件相关推荐

  1. 利用Python批量识别电子账单数据

    文章目录 一.前言 二.调用Baidu aip识别 三.批量识别电子账单 一.前言 有一定数量类似如下截图所示的账单,利用 Python 批量识别电子账单数据,并将数据保存到Excel. 百度智能云接 ...

  2. python账单查询软件_利用Python批量识别电子账单数据的方法

    这篇文章主要介绍了利用Python批量识别电子账单数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一.前言 有一定数量类似如下截图所示的账单,利用 ...

  3. python批量生成图片_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

  4. python批量下载模库网图片

    这里写自定义目录标题 python批量下载模库网图片 步骤: 代码 python批量下载模库网图片 步骤: 获取页数 获取列表页 获取图片链接和名字相关字典 创建存放图片的文件夹 下载图片 代码 im ...

  5. 使用python批量下载天猫数据并进行合并(非爬虫)

    使用python批量下载天猫数据并进行合并(非爬虫) 做电商运营少不了数据分析支持,无论是选品.选关键词.研究竞品还是开直通车.店铺引流都需要有数据支持.不过生意参谋虽然强大,但现在都只能显示&quo ...

  6. Python批量采集商品数据并使用多线程(含完整源码)

    前言 嗨喽,大家好,这里是魔王~ 本次目的: Python批量采集商品数据 知识点: 爬虫基本流程 非结构化数据解析 csv数据保存 线程池的使用 开发环境: python 3.8 pycharm r ...

  7. Python先生,你好!(4)——npz、npy文件生成与读取

    Python先生,你好!(4)--npz.npy文件生成与读取 (一)前 言 (二)np.save()函数 (1)生成一个数组 (2)储存数组 (三)np.savez()函数 (1)生成两个数组 (2 ...

  8. Python中利用numpy将数组(矩阵)存成csv文件,将csv文件读取为数组(矩阵)

    Python中利用numpy将数组(矩阵)存成csv文件,将csv文件读取为数组(矩阵) 本博客转载自:https://blog.csdn.net/vernice/article/details/50 ...

  9. python批量生成图_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

最新文章

  1. 好奇了好久的「对象」,就这?
  2. 2021年春季学期-信号与系统-第十五次作业参考答案-第十小题参考答案
  3. 关于lingo的@wrap函数
  4. 第十周项目实践 哈夫曼树的建立哈夫曼编码
  5. Python 列表List常见操作和错误总结
  6. Item 13 Minimize the accessibility of classes and members
  7. PCB画板子常用快捷键总结
  8. GridView数据导出到Excel的类
  9. Ubuntu下VSCode使用等宽字体设置
  10. h5下划线怎么设置_怎么给文加下划线?
  11. 【公司邮箱如何申请】怎么写加密邮件,企业邮箱支持吗?
  12. java简单实现购物车添加,查询,修改,结算商品程序
  13. kafka-生产者使用
  14. MySQL(二)查询操作
  15. SWFUpload 使用说明
  16. 合影效果java_【蚂蚁课堂】四十三:如何拍酷炫集体照?
  17. java反转字符串的方法
  18. 服务器部署基于chatgpt的服务
  19. 在中国玩不动的无人便利店,为何在美国风生水起?
  20. VS中项目属性win32 application和win32 console application的切换

热门文章

  1. 数据库编程(一)JDBC篇
  2. 17084 罗密欧与朱丽叶的迷宫问题
  3. 开学季学生党必备数码好物,什么数码好物值得分享学生党
  4. 淘宝撸猫瓜分20亿红包追线球赢喵币有哪些技巧?
  5. FL Studio2023中文版本水果编曲工具
  6. Enterprise Architect常见问题
  7. 日语二级语法 解惑02
  8. 2022全国职业院校技能大赛软件测试赛项解析
  9. Unity特效和UI层级
  10. OpenCV——Mat reshape函数