首页 > 编程语言 >Python .mat图片文件读取

Python .mat图片文件读取

时间:2023-02-14 15:33:26浏览次数:42  
标签:h5f mat img Python depth print shape images 读取

1. .mat文件用h5py读取

.mat格式的NYU v2数据集读取

import numpy as np
import h5py
import cv2


def h5_loader(path):
    h5f = h5py.File(path)
    # .mat文件里有哪些内容
    print(h5f)
    keys = list(h5f.keys())
    print("keys: ", keys)
    # images类别下的数据维度
    print("h5f['images'].shape: ", h5f['images'].shape)
    img = np.array(h5f['images'][0])
    print("img.shape: ", img.shape)
    img = np.transpose(img, (2, 1, 0))
    print("img.shape: ", img.shape)
    depth = np.array(h5f['depths'][0])
    print("depth.shape: :", depth.shape)
    return img, depth


if __name__ == '__main__':
    PATH = 'I:/datasets/NYU Depth Dataset v2/nyu_depth_v2_labeled.mat'
    img, depth = h5_loader(PATH)
    img = img.astype('float32')
    # 保存文件
    cv2.imwrite('1.png', img.astype(np.uint8))

结果展示:

<HDF5 file "nyu_depth_v2_labeled.mat" (mode r)>
keys:  ['#refs#', '#subsystem#', 'accelData', 'depths', 'images', 'instances', 'labels', 'names', 'namesToIds', 'rawDepthFilenames', 'rawDepths', 'rawRgbFilenames', 'sceneTypes', 'scenes']
h5f['images'].shape:  (1449, 3, 640, 480)
img.shape:  (3, 640, 480)
img.shape:  (480, 640, 3)
depth.shape: : (640, 480)

图片:

2. 结语

  努力去爱周围的每一个人,付出,不一定有收获,但是不付出就一定没有收获! 给街头卖艺的人零钱,不和深夜还在摆摊的小贩讨价还价。愿我的博客对你有所帮助(*^▽^*)(*^▽^*)!

  如果客官喜欢小生的园子,记得关注小生哟,小生会持续更新(#^.^#)(#^.^#)。

 

标签:h5f,mat,img,Python,depth,print,shape,images,读取
From: https://www.cnblogs.com/haifwu/p/17119769.html

相关文章

  • 编程基础与python介绍
    1、计算机内部存储数据的原理2、编程语言的发展史3、python解释器版本4、多版本的共存(重要)5、python的运行方式6、python的下载与安装7、路径8.环境变量 ......
  • python的学习之路DAY3
    2023.2.14DAY3 pycharm软件的基本使用python的注释语法变量与常量python的底层优化垃圾回收机制数据类型整型浮点型列表字符串字典元组集合今日......
  • python读取图片相关属性
    背景:工作中用到一些基础的图片处理的任务,比如获取图片宽高、获取图片的旋转角度等等图片属性,都是比较零散的,这里简单做个记录备忘这里用到的库exifread,安装pipisntall......
  • python中的sort()和sorted()的区别
    sort是应用在list上的方法,而sorted可以对所有可迭代的对象进行排序操作;sort是对原有列表进行操作,而sorted返回的是一个新的可迭代对象,不会改变原来的对象;sort使用方法......
  • python中sys.argv模块的介绍
    1、所有命令行参数都可以通过模块中的sys.argv访问,其返回值是包含所有命令行参数的列表(list)。2、Python在执行程序时,从命令行中获取所有值,并将其存储在sys.argv列表中。实......
  • python canvas画布的介绍
    1、在画布上绘制对象,通常用create_xxxx,xxxx=对象类型。2、每次调用create_xxx,都会返回创建组件的ID,也可以用tag属性指定标签。3、通过调用canvas.move实现一次性动作。实例#......
  • python TKinter弹出式菜单的使用
    1、弹出菜单也叫上下文菜单,建立菜单并向菜单添加各种功能。2、右键监听鼠标。如右键点击,则根据位置判断弹出。3、调用Menupop方法。4、add_separator添加分隔符。实例#弹出......
  • python TKinter普通菜单的介绍
    TKinter中的菜单种类比较多,本篇就其中的普通菜单为大家带来讲解。1、第一个Menu类定义是parent。2、add_command添加菜单项,如果菜单是顶层菜单,从左到右添加,否则就是下拉菜单......
  • python中TKinter的绑定方法
    1、bind_all全局绑定,默认是全局快捷键,比如F1是帮助文档。2、bind_class接受三个参数,第一个是类名,第二个是事件,第三个是操作。3、bind单独绑定某个实例。4、unbind解绑需要一......
  • 读取视频流
    读取视频流从网站读取importcv2#opencv2packageforpython.importpafy#pafyallowsustoreadvideosfromyoutube.URL="https://www.youtube.com/watch?v......