【数据处理】之读取hdf5文件

IDL学习笔记(三)OMI数据处理。hdf5文件读取,图像反转,GeoTiff区别,月季年均值计算提取输出,单位转换,运行时间计算 modis Level 2 grid 数据是全球格网化数据。一天的数据全在其中。modis Level 1 和 2 数据是一景一景的影像。 阅读详情

hdf5文件

HDF5是一种常见的跨平台数据存储文件,可以存储不同类型的图像和数码数据,并且可以在不同类型的机器上传输,同时还有统一处理这种格式的函数库

HDF5文件一般以.h5和.hdf5作为后缀名,hdf5文件结构中有2个主要对象:Groups和Datasets,

  • Groups:类似于文件夹,每个hdf5文件其实就是根目录group
  • Datasets:类似于Numpy中的数组

hdf5读取

参考

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#
# Created by WW on Jan. 26, 2020
# All rights reserved.
#

import h5py
import numpy as np

def main():
	#===========================================================================
	# Create a HDF5 file.
	f = h5py.File("h5py_example.hdf5", "w")    # mode = {'w', 'r', 'a'}

	# Create two groups under root '/'.
	g1 = f.create_group("bar1")
	g2 = f.create_group("bar2")

	# Create a dataset under root '/'.
	d = f.create_dataset("dset", data=np.arange(16).reshape([4, 4]))

	# Add two attributes to dataset 'dset'
	d.attrs["myAttr1"] = [100, 200]
	d.attrs["myAttr2"] = "Hello, world!"

	# Create a group and a dataset under group "bar1".
	c1 = g1.create_group("car1")
	d1 = g1.create_dataset("dset1", data=np.arange(10))

	# Create a group and a dataset under group "bar2".
	c2 = g2.create_group("car2")
	d2 = g2.create_dataset("dset2", data=np.arange(10))

	# Save and exit the file.
	f.close()

	''' h5py_example.hdf5 file structure
	+-- '/'
	|   +--	group "bar1"
	|   |   +-- group "car1"
	|   |   |   +-- None
	|   |   |   
	|   |   +-- dataset "dset1"
	|   |
	|   +-- group "bar2"
	|   |   +-- group "car2"
	|   |   |   +-- None
	|   |   |
	|   |   +-- dataset "dset2"
	|   |   
	|   +-- dataset "dset"
	|   |   +-- attribute "myAttr1"
	|   |   +-- attribute "myAttr2"
	|   |   
	|   
	'''

	#===========================================================================
	# Read HDF5 file.
	f = h5py.File("h5py_example.hdf5", "r")    # mode = {'w', 'r', 'a'}

	# Print the keys of groups and datasets under '/'.
	print(f.filename, ":")
	print([key for key in f.keys()], "\n")  

	#===================================================
	# Read dataset 'dset' under '/'.
	d = f["dset"]

	# Print the data of 'dset'.
	print(d.name, ":")
	print(d[:])

	# Print the attributes of dataset 'dset'.
	for key in d.attrs.keys():
		print(key, ":", d.attrs[key])

	print()

	#===================================================
	# Read group 'bar1'.
	g = f["bar1"]

	# Print the keys of groups and datasets under group 'bar1'.
	print([key for key in g.keys()])

	# Three methods to print the data of 'dset1'.
	print(f["/bar1/dset1"][:])		# 1. absolute path

	print(f["bar1"]["dset1"][:])	# 2. relative path: file[][]

	print(g['dset1'][:])		# 3. relative path: group[]



	# Delete a database.
	# Notice: the mode should be 'a' when you read a file.
	'''
	del g["dset1"]
	'''

	# Save and exit the file
	f.close()

if __name__ == "__main__":
    main()

读取bottom-up-features-fixed

train36.hdf5中文件有如下键:
['image_adj_matrix', 'image_bb', 'image_features', 'semantic_adj_matrix', 'spatial_features']

键名含义维度数值只显示[0][0]数据
image_adj_matrix空间相邻矩阵(82783, 36, 36)[ 3. 5. 4. … 11. 10. 5.]
image_bb边界框特征(82783, 36, 4)[ 60.647038 263.72934 581.98047 296.65677 ]
image_features图像特征(82783, 36, 2048)[0. 2.90207 0. … 0. 2.7414305 0. ]
semantic_adj_matrix语义的相邻矩阵(82783, 36, 36)[0. 0. 0. … 0. 0. 0.]
spatial_features空间特征(82783, 36, 6)[0.094761 0.6190829 0.9093445 0.69637734 0.8145835 0.07729443]
2024-04-22 问AI: 什么是H5文件(HDF5)? HDF5是由美国国家地质调查局(USGS)开发的一种自描述型的文件格式,它可以存储多种类型的数据,包括数值数据、文本、图像以及其它复杂的数据结构。:HDF5文件包含了关于数据结构和类型的元数据信息,这使得即使是在不同计算机系统和不同软件环境下,数据也能够被正确读取和理解。总的来说,H5文件是一种强大的数据存储和组织工具,特别适用于需要处理和分析大量数据的科学研究和工程应用领域。:HDF5文件可以在不同的操作系统和硬件平台上进行读取和写入,具有良好的移植性和互操作性。H5文件(HDF5)是一种。 阅读详情

相关推荐

HDF5文件数据读取

详细介绍使用hdf5读取h5格式的激光点云数据

1254

读HDF5格式的文件

HDF(Hierarchical Data Format)指一种为存储和处理大容量科学数据设计的文件格式及相应库文件。其中是层级结构的意思,也就是说,HDF的文件结构是分层的,像文件夹一样,上层文件夹套下层文件夹。

qq_34326406的博客 1033

使用OpenCV HDF5文件读写属性

在OpenCV中,可以使用cv::FileStorage类来读取和写入HDF5文件。cv::FileStorage类提供了一种简单的接口,在HDF5文件中创建、读取和修改属性。总之,在OpenCV中,可以使用cv::FileStorage类读写HDF5文件的属性。的HDF5文件,并在文件中写入了不同类型的属性数据,包括整数、浮点数、字符串、向量和矩阵。的HDF5文件,并从文件中读取了不同类型的属性数据,包括整数、浮点数、字符串、向量和矩阵。以下是一个例子,演示如何使用OpenCV从HDF5文件中读取属性。

带你成为别人眼中的大佬! 320

读取HDF5 文件注意事项

允许对 HDF5 数据进行切片读取(如 `file[dataset_name][0:10]`),提高了对部分数据的访问效率。如果只想直接读取整个数据集,`[()]` 和 `[:]` 都可以,但语义上 `()` 更清晰。作用:将 HDF5 数据集 `dataset_name` 的所有数据读入内存。作用:从 HDF5 数据集 `dataset_name` 中切片读取所有数据。使用 `()` 读取整个数据集,会将数据直接转换为一个 NumPy 数组。`[:]` 读取数据集所有切片,实际上等价于读取整个数据集。

m0_45685024的博客 738

python 读写HDF5

在上面的代码中,首先导入h5py库和numpy库,然后使用h5py.File()函数打开之前创建的data.h5文件,并将文件模式设置为’a’以便附加数据。最后,使用切片操作将numpy数组写入数据集中。在上面的代码中,首先导入h5py库,然后使用h5py.File()函数创建一个名为data.h5的HDF5文件,并将文件模式设置为’w’以便写入。接着,使用f.create_dataset()函数在文件中创建两个数据集,分别命名为’dataset1’和’dataset2’,并设置数据集的形状和数据类型。

zhangzhechun的专栏 3670

ENVI_IDL:如何读取HDF4文件和HDF5文件的数据集和属性?

参考由于时间和精力,这里并没有对其中的函数进行详细的说明,只是介绍了函数作用以及用法。

炒茄子的博客 2023

Py-ART库中ODIM HDF5文件读取器的元数据处理优化

Py-ART(Python ARM Radar Toolkit)是一个用于处理气象雷达数据的开源Python库。在雷达气象领域,ODIM HDF5是一种常见的雷达数据格式标准。Py-ART通过`pyart.aux_io.read_odim_h5()`函数提供了对这种格式的支持。 ## 问题发现 在实际使用中发现,当ODIM HDF5文件中缺少某些元数据字段时,`read_odim_h5()`函...

gitblog_07771的博客 500

ENVI_IDL:读取OMI数据(HDF5)并输出为Geotiff文件+详细解析

读取OMI数据(HDF5)并输出为Geotiff文件,最重要的是数据的处理以及输出

炒茄子的博客 3418

ENVI读取HDF5插件:轻松导入并处理HDF5数据

ENVI读取HDF5插件:轻松导入并处理HDF5数据 【下载地址】ENVI读取HDF5插件 这是一个专为ENVI软件设计的HDF5文件读取插件,旨在帮助用户轻松导入和处理HDF5格式的数据。通过该插件,用户可以无缝地在ENVI中访问HDF5文件,简化了复杂数据的处理流程。插件操作简单,兼容性强,能够显著提高工作效率,特别...

gitblog_06764的博客 649

IDL操作HDF5文件实用指南

层次数据格式版本5(Hierarchical Data Format version 5),即HDF5,是一个开源的数据模型、库和文件格式,用于存储和组织大量数据。它支持复杂的数据结构,并能够有效地存储、检索和处理大量数据。HDF5是特别为长期存储和读取效率优化而设计的,使其成为科研数据处理的理想选择。IDL是一种高级编程语言,它为用户提供了丰富的数据类型、数组操作以及图形显示功能。它特别适合于处理大量数据,并能够直接在数组上进行数学运算,无需编写复杂的循环语句。

weixin_29867767的博客 975

IDL操作HDF文件:读取教程及实践

层次数据格式(Hierarchical Data Format,HDF)是一种用于存储和组织大量数据的文件格式。它支持复杂的数据结构,并允许用户高效地读写大型数据集。IDL (Interactive Data Language) 是一种广泛用于科学计算和数据分析的编程语言,提供了一系列用于读取和处理HDF (Hierarchical Data Format) 文件的接口。HDF文件由于其层次化的数据组织方式,便于存储和访问大量复杂的数据,因此在遥感、气象、物理等领域的数据处理中得到了广泛应用。

weixin_28872035的博客 1018

5 Pandas------5.6 文件读取与存储(CSV、HDF5、JSON)

文章目录5.6 文件读取与存储学习目标1 CSV1.1 read_csv1.2 to_csv2 HDF52.1 read_hdf与to_hdf2.2 案例3 JSON3.1 read_json3.2 read_josn 案例3.3 to_json3.4 案例4 小结 ????文章代码???? ????本文csv数据文件???? ????本文HDF5数据文件???? ????本文Jason数据文件???? 5.6 文件读取与存储 学习目标 目标 了解Pandas的几种文件读取存储操作 应用CSV方式、HDF

程序猿-凡白的博客 1713

ENVI HDF5读取插件:遥感数据处理利器

ENVI,即Environment for Visualizing Images的缩写,是遥感领域内广泛使用的一款图像处理软件。其特点在于具有强大的图像解译、处理和分析功能,支持多种格式的数据,并且操作界面直观、灵活,能够让研究者和工程师在数据分析工作中节省时间、提高效率。

weixin_36282234的博客 1344

c++如何打开hdf5文件_如何生成HDF5文件

在使用深度学习学习图像文件的时候,如果图片文件很多,比如大几千张,或者几万张。如果将一个图片再接一个图片导入到内存中,会极大地拖慢深度学习算法运行速度。我们都有过这样的经验,如果将一个文件夹里面有几万个文件的文件夹进行复制,其速度要比将文件夹打包之后复制速度要慢很多。为了不让IO运算(将硬件中的图片一个一个导入到内存中)成为深度学习训练速度无法提高的一个瓶颈,这里来介绍一种方法,就是将很多的文件打...

weixin_39733146的博客 849

HFSS的边界条件与激励方式

在电磁场理论学习中我们知道,电磁场问题的求解都归结于麦克斯韦(Maxwell)方程组的求解,在HFSS中波动方程的求解同样是由微分形式的麦克斯韦方程推导出来的。而边界条件定义了求解区域的边界以及不同物体交界处的电磁场特性,是求解麦克斯韦方程的基础。 只有在假定场矢量是单值、有界、并且沿空间连续分布的前提下,微分形式的麦克斯韦方程组才是有效的;而在求解区域的边界,不同介质的交界处和场源处,场矢量是不连续的,那么场的导数也就失去了意义。 边界条件就是定义跨越不连续边界处的电磁场特性,因此,正确地理解、定义并

ASH_GUARDIAN的博客 1万+

复用浏览器之跳过扫码登录

复用浏览器 1、通过命令启动浏览器:chrome --remote-debugging-port=9222(前提是退出所有的chrome浏览器) 2、启动浏览器之后,在地址栏输入127.0.01:9222,成功复用如下图所示:

qq_43911915的博客 2036

卫星数据处理

常用数据格式有 nc、hdf、tif等,其中hdf格式中有hdf4,hdf5两种格式;注意:hdf4中有两种主要的数据集:dataset和vdata,这两种数据集的读取方式也不一样。

qq_43352337的博客 845

Vensim系统动力学建模实战:从理论到仿真优化【案例详解】

本文详细介绍了Vensim在系统动力学建模中的实战应用,从基础理论到仿真优化全面解析。通过人口增长、供应链库存优化等典型案例,展示如何利用Vensim构建动态模型并进行参数优化,帮助读者掌握系统动力学建模的核心技术与实践技巧。

weixin_29231725的博客 479

MATLAB 处理hdf5图像数据集使用总结

最近使用MATLAB要对要使用的图片进行小波变换(wavelet analysis)处理后再使用,顺便也学了一下MATLAB,虽然以前也接触过,但和“安装了一下软件”的接触水平没啥区别。 最近也突然感悟到,编程的真谛在于你首先要清楚你要干什么,然后才是结合具体的语言的语法、函数、特性等具体的手段去实现它。所以编程语言虽然重要,但并不是最核心的,最核心的是你知道你要干什么,编程的核心不是编程语言,...

Hero_Never_GIVE_UP的博客 5139

ORACLE 12C RAC 启动报错,错误代码 ORA-27300,ORA-27301,ORA-27302

非一体机,12.2 无任何补丁,2套X86服务器,1节点集群异常(数据库正常,还有会话),2节点正常工作,负载不高,硬件、空间均未检查到异常,多路径存在掉线的情况,但通过Mulitpath -ll 看又是正常的,2根私有网络,其中一根不同,sysctl中配置的稀疏模式。5、再次加成crs alert ohas等集群日志,以及根据现象和错误再次到后台sr中查找可用信息,发现有一个类似问题,12.2 RAC 无任何补丁,报同样错误,解决方案为重启两套服务器。查询MOS文档以及后台文档,排除上面指出的问题。

weixin_42344665的博客 1465

基于BS21的星闪模块设计电路SLE/BLE

基于BS21的星闪模块设计电路SLE/BLE HI2821

2503_91889531的博客 2742

python 三维数组 存为tiff_核心4D图像tif存储为hdf5 python

编辑:使用dask.array的imread函数从0.7.0版开始,您无需将图像存储在HDF5中.直接使用imread函数:In [1]: from skimage.io import imreadIn [2]: im = imread('foo.1.tiff')In [3]: im.shapeOut[3]: (5, 5, 3)In [4]: ls foo.*.tifffoo.1.tiff fo...

weixin_36359110的博客 668

光伏发电系统模拟及其发电预测开源python工具pvlib

本文介绍光伏发电系统模拟及其发电预测开源python工具pvlib,以及举例介绍获取辐照度方法、光伏发电预测思路。

肖永威的专栏 1万+

python读取hdf5文件_科学网—python读hdf5文件 - 钱磊的博文

读hdf5文件和读fits差不多,需要知道类似文件头的东西,这里是一个变量的名称。这可以通过定义一个prt函数结合h5py报的工具来实现如下def prt(name):print(name)filename=sys.argv[1]f = h5py.File(filename, 'r')f.visit(prt)知道了变量名以后就可以读取相应的数据了。例如vx=np.array(f['velocity...

weixin_39586335的博客 253

Pentaho安装与配置

Pentaho安装与配置前言一、下载二、配置1.JDK环境2.添加mysql-jdbc驱动三、启动 前言 Pentaho Data Integration (PDI):前身是Kettle。Pentaho提供了提取、转换和加载(ETL)功能,该功能使用统一且与最终用户和物联网技术相关且可访问的格式简化了捕获、清理和存储数据的过程。 功能:提供报表的制作、分析、仪表板、数据集成、数据采集、商业智能平台等强大功能。 一、下载 官网地址:http://www.pentaho.com/ 不过已经访问不到了

小太阳DENGJIE的博客 3613

ABAP 7.40 新语法介绍系列之六:使用 FILTER 关键字对 ABAP 内表进行过滤

笔者之前写过的关于 ABAP 740 新语法的文章:本文介绍另一个新的关键字:FILTER.FILTER 是 ABAP 740 中引入的一个关键字,用于简化数据操作,它能够将内部表(Internal Table)中的数据按特定的条件进行过滤,并生成一个新的内部表。FILTER 的引入旨在使代码更加现代化和高效,尤其是在面对大量数据需要过滤的情况下。传统上,开发人员可能需要使用 LOOP AT 结合条件判断来实现,但使用 FILTER 关键字后,代码显得更加简洁且易于维护。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1171
上一篇: 论文解读之VQA视觉问答
下一篇: 【数据分析】之ReGat的VQAFeaturesDataset加载
snow5618
博客等级 码龄9年 141粉丝 51原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值