python h5开发,python写h5网页前端

  python h5开发,python写h5网页前端

  代码流程图:本章的代码流程

  本章是关于- make_dataset.py的

  -请参阅

  第一步:处理的文件的路径和名称

  文件名=操作系统。路径。基本名称(JPEG _ dir .标准英语跳闸(/)

  HD F5 _ file=OS。路径。join(数据目录, % s _ data。H5“% file _ name”rst rip):将线字符串末尾的指定字符(默认为空格)

  OS.path.basename:返回小路的最后一个文件名的【python os.path模块的常规方法详细信息】附录中有此函数的分析

  " %s_data.h5 %文件名:实际上也可以使用格式:" { } _ data " .H5的。格式(文件名)

  用5py.file(HDF5_file, w )作为hfw:

  对于训练,测试,值]中的数据集类型:

  遍历数据文件夹下的三个子文件

  list _ img=[imgforimginpath(JPEG _ dir).glob(%s/* ).jpg%dset_type ) ]

  list _ img=[str(img)for img in list _ img]

  list _ img。extend(list(path(JPEG _ dir)).glob(%s/* ).png"% dset _ type ")

  list_img=list(映射(str,list _ img))

  list_img=NP .数组(list_img))。

  好了,我不想分析这一段。作者写起来很麻烦。我自己写的,同样可以实现上述功能。这是获取每个子文件夹中文件的所有路径。

  list _ img=[OS。路径。join(JPEG _ dir,dset_type,name)为name inos。列表目录)操作系统。路径。加入(JPEG _ dir)

  list_img=NP .数组(list_img))。

  NP。数组:将大蟒的目录数据类型转换为NP。数组数据类型。

  -请参阅

  第二步:将图像处理为h5格式

  data _ full=hfwcreate _ dataset( % s _ data _ full % dset _ type,

  (0,nb_channels,size,size),

  最大形状=(无,3,大小,大小),

  dtype=np.uint8)

  数据_草图=hfw。create _ dataset( % s _ data _ sketch % dset _ type,

  (0,nb_channels,size,size),

  最大形状=(无,3,大小,大小),

  dtype=np.uint8)

  【创建_数据集官网说明】这也是我第一次提到这个,以下是我个人的见解。

  创建数据集函数在一个h5文件中创建一个数据集。另外,可以在一个h5文件中创建多个数据集,以存储不同功能的数据。第一个参数是资料组的名称

  数据集中数据的具体大小

  资料组最多可以存储多少个数据?大多数第一个参数在没有人的说明中可以存储无限个

  num_files=len(list_img)

  块大小=100

  块数=文件数/块大小

  arr _ chunks=NP。数组_拆分(NP。arange(文件数),块数)NP。数组_拆分(NP。arange))数量

  图像太多,需要分组保存到h5文件中

  forchunk_idxinTQDM(ARR_chunks):

  list _ img _ path=list _ img[chunk _ idx].列出(

  output=parmap.map(format_image,list_img_path,size,nb_channels,pm_parallel=

  False)tolist():将排列变成数组的列表,这相当于一个迭代器

  parmap.map:其是将list_img_path里面的量一个一个的送入到格式_图像函数中【欢迎阅读parmap的文档!】附录有解析

  arr _ img _ full=NP。连接([o[0]表示输出中的o],轴=0)

  arr _ img _ sketch=NP。连接([o[1]表示输出中的o],轴=0)将输出的输出分开,且按照第一个维度连接在一起。

  格式_图像返回的有两个元素目录

  数据已满。resize(data _ full。形状[0]arr _ img _ full。形状[0],轴=0)

  数据_草图。调整大小(data _ sketch。形状[0]arr _ img _ sketch。形状[0],轴=0)调整资料组的大小,我们调整的只是个数。

  注意是先把资料组变大在向里面加数据。

  数据完整[-数组完整。形状[0]:]=arr _ img _ full。astype(NP。uint 8)

  数据_草图[-数组_图像_草图。形状[0]:]=arr _ img _ sketch。astype(NP。uint 8)

  向资料组的相应位置存储图片

  测试:

  提示:想从后面数几个数:-arr_img_full.shape[0]:

  #顾名思义这个函数就是检查,你转换的是否成功的

  def check_HDF5(jpeg_dir,nb_channels):

  用地标绘制图像以检查处理过程

  #获取hdf5文件

  文件名=操作系统。路径。basename(JPEG _ dir。rst rip(/))

  HD F5 _ file=OS。路径。join(数据目录, %s_data.h5 %文件名)

  用h5py .文件(hdf5_file, r )为高频:#注意这里是r 只读模式

  数据满=高频[列车数据满]

  data _ sketch=HF[ train _ data _ sketch ]#得到相应的资料组

  对于范围内的我(data _ full。形状[0]):

  图表()

  img=data_full[i,].转置(1,2,0)

  img2=data_sketch[i,].转置(1,2,0)#得到图片,将深度在调到最后

  img=np.concatenate((img,img2),axis=1)#将图片在次拼在一起

  如果nb_channels==1:

  plt.imshow(img[:0],cmap=gray )

  否则:

  plt.imshow(img)

  plt.show()

  plt.clf()

  plt.close()

  使用h5文件的思路是:打开h5文件,选取相应的数据集(这时就相当于一个一批了,有四个维度)。很方便

  附:

  1,os.path.basename

  os.path.basename(c:\\test.csv )

   test.csv

  os.path.basename(c:\\csv )

  csv (这里战斗支援车被当作文件名处理了)

  os.path.basename(c:\\csv\\ )

  2,np.array_split函数

  文件数量=5

  打印(文件数)

  chunk_size=2

  块数=文件数/块大小

  打印(块数)

  arr _ chunks=NP。数组_拆分(NP。阿兰格(文件数),组块数)

  打印(数组块)

  输出:

  5

  2.5

  [数组([0,1,2]),数组([3,4])]

  3、地图函数格式_图像:传入一个功能函数

  list_img_path:一个目录相当于一个迭代器

  尺寸,nb _频道:后面两个参数是传给第一个函数格式_图像的

  pm _并行:设置地图,但不清楚是干嘛的

  功能是循环读出list_img_path的数据到格式_图像函数中,结果放在一个目录内返回

  注:【Python中*参数和* *克瓦查的用法】当函数的参数不确定时,可以使用*参数和* *夸尔斯,*参数没有键值,* *克瓦查有键值。这就很好的区别了那些参数是传给功能的,哪些是去设置地图函数的

  4、格式_图片函数

  极好的格式_图像(img _路径,大小,nb _通道):

  用中文版加载图片并整形

  如果nb_channels==1:

  img=cv2.imread(img_path,0)

  img=np.expand_dims(img,axis=-1)

  否则:

  img=cv2.imread(img_path)

  img=img[:-1] # GBR到RGB

  w=img.shape[1]

  #读取图片

  #将图像一分为二以获得两部分

  img_full=img[:w //2,]

  img_sketch=img[:w //2:]

  #将图片切成两部分

  img_full=cv2.resize(img_full,(size,size),插值=cv2 .区间_区域)

  img _ sketch=cv2。resize(img _ sketch,(size,size),插值=cv2 .区间_区域)

  #将图片规整到相应大小

  如果nb_channels==1:

  img _ full=NP。expand _ dims(img _ full,-1)

  img _ sketch=NP。expand _ dims(img _ sketch,-1)

  img _ full=NP。expand _ dims(img _ full,0).转置(0,3,1,2)

  img _ sketch=NP。expand _ dims(img _ sketch,0).转置(0,3,1,2)

  #将图片增加一个第一维度,即批量生产。然后在将深度维度放到一维度

  返回img _完整,img _草图

  ?cv2.imread读的是引导骨再生术

  ?大蟒读图片的函数,那些是RGB哪些是

  ?img[:-1]是怎么实现调换通道的:-1就是调换顺序

  最后附上我的结果:

  欢迎关注公众号:黄小白880https://www。胡志。com/video/924964085190230016

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: