深度学习|批处理图像保存到四维数组中

2023-11-05 09:10

本文主要是介绍深度学习|批处理图像保存到四维数组中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

将文件夹中不同尺寸的图像保存到四维的数组中,作为数据集

方法1:

import numpy as np
import tensorflow as tf
from skimage import io
import os
import cv2
import matplotlib.pyplot as plt
from PIL import Image   #导入Image模块
def get_imagelist(path):   """此函数读取特定文件夹下的jpg格式图像,返回图片所在路径的列表函数输入:-path:图像文件夹路径函数输出:-imglist:图片所在路径列表"""imglist=[os.path.join(path,f) for f in os.listdir(path) if f.endswith('.jpg') ]return imglistdef img_bprocess(path,m,n):"""该函数返回图像组成的数组函数输入:-path:图像文件路径-m:图像长-n:图像宽函数输出:X_train:输出数据集数组.size(d,m,n,3)"""imglist=get_imagelist(path) #print (imglist)     #这里以list形式输出jpg格式的所有图像(带路径)d=len(imglist)    #这可以以输出图像个数,如果你的文件夹下有500张图片,那么d为500#print("图片个数:",d)X_train=np.empty((d,m,n,3))#建立d*(m,n,3)的矩阵while d>0:img=Image.open(imglist[d-1])  #打开图像img_ndarray=np.asarray(img)  #将图像转化为数组#print(img_ndarray.shape)#将所有图像reshape为(m,n,3)img_ndarray=np.resize(img_ndarray,(m,n,3))#将图像的矩阵形式保存到(d,m,n,3)四维数组中X_train[d-1]=img_ndarray    d=d-1return X_train

引用函数的实例:


import numpy as np
import tensorflow as tf
from skimage import io
import os
import cv2
import matplotlib.pyplot as plt
from data_set_creat import img_bprocesspath='E:/vscodeproject/practice_project/datasets/deep_nn/train/'
X_train=img_bprocess(path,224,224)

结果:

方法2:

def img_bcreat_2(path,m,n):"""函数输入:-path:图像文件路径-m:图像长-n:图像宽函数输出:X_train:输出数据集数组.size(d,m,n,3)"""imglist=os.listdir(path)d=len(imglist)X_train=np.empty((d,m,n,3))i=0for img in imglist:img_path=os.path.join(path,img)img=cv2.imread(img_path)data=cv2.resize(img,(m,n),interpolation=cv2.INTER_CUBIC)X_train[i][:,:,:]=datai=i+1return X_train

 

这篇关于深度学习|批处理图像保存到四维数组中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/348823

相关文章

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06