我下载的是带标签的NYUV2数据集,下载写来的格式是.mat
原图,深度图,labels的提取方式参考此博客
提取各类名称保存为txt
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
import h5py
import os
from PIL import Image
f=h5py.File(\"./nyu_depth_v2_labeled.mat\")
ft = open(\'names.txt\', \'w+\')
#print(f[\"names\"].shape) #打印查看类别个数,共894类
for j in range (893):
name = f[\"names\"][0][j]
obj = f[name]
strr = \"\".join(chr(i) for i in obj[:])
ft.write(strr + \'\\n\')
ft.close()
提取原图images(RGB图)
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
import h5py
import os
f=h5py.File(\"./nyu_depth_v2_labeled.mat\")
images=f[\"images\"]
images=np.array(images)
path_converted=\'./nyu_images\'
if not os.path.isdir(path_converted):
os.makedirs(path_converted)
from PIL import Image
images_number=[]
for i in range(len(images)):
print(i)
images_number.append(images[i])
a=np.array(images_number[i])
# print len(img)
#img=img.reshape(3,480,640)
# print img.shape
r = Image.fromarray(a[0]).convert(\'L\')
g = Image.fromarray(a[1]).convert(\'L\')
b = Image.fromarray(a[2]).convert(\'L\')
img = Image.merge(\"RGB\", (r, g, b))
img = img.transpose(Image.ROTATE_270)
# plt.imshow(img)
# plt.axis(\'off\')
# plt.show()
iconpath=\'./nyu_images/\'+str(i)+\'.jpg\'
img.save(iconpath,optimize=True)
提取深度图(depth map)
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
import h5py
import os
from PIL import Image
f=h5py.File(\"./nyu_depth_v2_labeled.mat\")
depths=f[\"depths\"]
depths=np.array(depths)
path_converted=\'./nyu_depths/\'
if not os.path.isdir(path_converted):
os.makedirs(path_converted)
max=depths.max()
print (depths.shape)
print (depths.max())
print (depths.min())
depths=depths/max*255
depths=depths.transpose((0,2,1))
print (depths.max())
print (depths.min())
for i in range(len(depths)):
print (str(i)+\'.png\')
depths_img=Image.fromarray(np.uint8(depths[i]))
depths_img=depths_img.transpose(Image.FLIP_LEFT_RIGHT)
iconpath = path_converted + str(i) + \'.png\'
depths_img.save(iconpath, \'PNG\', optimize=True)
提取labels
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
import h5py
import os
from PIL import Image
f=h5py.File(\"./nyu_depth_v2_labeled.mat\")
labels=f[\"labels\"]
labels=np.array(labels)
path_converted=\'./nyu_labels\'
if not os.path.isdir(path_converted):
os.makedirs(path_converted)
labels_number=[]
for i in range(len(labels)):
labels_number.append(labels[i])
labels_0=np.array(labels_number[i])
#print labels_0.shape
print (type(labels_0))
label_img=Image.fromarray(np.uint8(labels_number[i]))
#label_img = label_img.rotate(270)
label_img = label_img.transpose(Image.ROTATE_270)
iconpath=\'./nyu_labels/\'+str(i)+\'.png\'
label_img.save(iconpath, \'PNG\', optimize=True)
继续阅读与本文标签相同的文章
上一篇 :
C波段联盟提议让出300MHz频谱用于5G部署
下一篇 :
留仙洞总部基地建设加速
-
第三讲,Ceph内部构件
2026-05-18栏目: 教程
-
日本发明AI女友,中国却发明AI主持人,这就是差距!
2026-05-18栏目: 教程
-
《华西通信》行业深度:Wi-Fi6同步5G启航,共享万物互
2026-05-18栏目: 教程
-
不用纠结NSA与SA网络!对于5G手机来说,体验基本一致
2026-05-18栏目: 教程
-
你对自己的网站拥有所有权吗?
2026-05-18栏目: 教程
