Python 批量将raw数据或图片一一存成.npy文件
深度学习神经网络训练读入的都是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文件相关推荐
- 利用Python批量识别电子账单数据
文章目录 一.前言 二.调用Baidu aip识别 三.批量识别电子账单 一.前言 有一定数量类似如下截图所示的账单,利用 Python 批量识别电子账单数据,并将数据保存到Excel. 百度智能云接 ...
- python账单查询软件_利用Python批量识别电子账单数据的方法
这篇文章主要介绍了利用Python批量识别电子账单数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一.前言 有一定数量类似如下截图所示的账单,利用 ...
- python批量生成图片_利用Python批量生成任意尺寸的图片
实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...
- python批量下载模库网图片
这里写自定义目录标题 python批量下载模库网图片 步骤: 代码 python批量下载模库网图片 步骤: 获取页数 获取列表页 获取图片链接和名字相关字典 创建存放图片的文件夹 下载图片 代码 im ...
- 使用python批量下载天猫数据并进行合并(非爬虫)
使用python批量下载天猫数据并进行合并(非爬虫) 做电商运营少不了数据分析支持,无论是选品.选关键词.研究竞品还是开直通车.店铺引流都需要有数据支持.不过生意参谋虽然强大,但现在都只能显示&quo ...
- Python批量采集商品数据并使用多线程(含完整源码)
前言 嗨喽,大家好,这里是魔王~ 本次目的: Python批量采集商品数据 知识点: 爬虫基本流程 非结构化数据解析 csv数据保存 线程池的使用 开发环境: python 3.8 pycharm r ...
- Python先生,你好!(4)——npz、npy文件生成与读取
Python先生,你好!(4)--npz.npy文件生成与读取 (一)前 言 (二)np.save()函数 (1)生成一个数组 (2)储存数组 (三)np.savez()函数 (1)生成两个数组 (2 ...
- Python中利用numpy将数组(矩阵)存成csv文件,将csv文件读取为数组(矩阵)
Python中利用numpy将数组(矩阵)存成csv文件,将csv文件读取为数组(矩阵) 本博客转载自:https://blog.csdn.net/vernice/article/details/50 ...
- python批量生成图_利用Python批量生成任意尺寸的图片
实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...
最新文章
- 好奇了好久的「对象」,就这?
- 2021年春季学期-信号与系统-第十五次作业参考答案-第十小题参考答案
- 关于lingo的@wrap函数
- 第十周项目实践 哈夫曼树的建立哈夫曼编码
- Python 列表List常见操作和错误总结
- Item 13 Minimize the accessibility of classes and members
- PCB画板子常用快捷键总结
- GridView数据导出到Excel的类
- Ubuntu下VSCode使用等宽字体设置
- h5下划线怎么设置_怎么给文加下划线?
- 【公司邮箱如何申请】怎么写加密邮件,企业邮箱支持吗?
- java简单实现购物车添加,查询,修改,结算商品程序
- kafka-生产者使用
- MySQL(二)查询操作
- SWFUpload 使用说明
- 合影效果java_【蚂蚁课堂】四十三:如何拍酷炫集体照?
- java反转字符串的方法
- 服务器部署基于chatgpt的服务
- 在中国玩不动的无人便利店,为何在美国风生水起?
- VS中项目属性win32 application和win32 console application的切换