NYUD V2資料集的簡介與提取
宣告:基於python3.6提取NYUD V2資料集
NYUD V2資料集下載網址如下:
https://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html(文中在Toolbox中提供了常用的預處理影象函式)
下載好的資料集的檔名是nyu_depth_v2_labeled.mat
,可以用matlab開啟。
NYUD V2資料集由1449張640*480的影象組成。
提取原圖:
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
import h5py
import os
f=h5py.File("/home/yuyangyg/DataSet/NYUDataV2/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)
提取補洞後的深度圖:
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("/home/yuyangyg/DataSet/NYUDataV2/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)
提取原深度圖rawDepths:
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("/home/yuyangyg/DataSet/NYUDataV2/nyu_depth_v2_labeled.mat")
depths=f["rawDepths"]
depths=np.array(depths)
path_converted='./nyu_rawDepths/'
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)
提取label:
# -*- 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("/home/yuyangyg/DataSet/NYUDataV2/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)
備註:使用Toolbox中的fill_depth_colorization.m函式時,輸入的引數應該是double型別,如果影象是uint8或其他型別,則需要強轉為double型別。
參考文章:
https://blog.csdn.net/yuyangyg/article/details/80690995
相關文章
- 資料集簡介
- Zookeeper簡介與叢集搭建
- 文章內容提取庫 goose 簡介Go
- 機器學習之資料清洗與特徵提取機器學習特徵
- MNIST資料集介紹
- Cora 資料集介紹
- 使用 Linux 文字工具簡化資料的提取(轉)Linux
- 資料採集之:巧用布隆過濾器提取資料摘要過濾器
- NLPIR大資料平臺的文字資訊提取功能介紹大資料
- 資料字典簡介
- 演算法與資料結構——圖簡介演算法資料結構
- 如何快速簡單的實現 Excel資料按列提取Excel
- 使用Linux文字工具簡化資料的提取(一)(轉)Linux
- RabbitMQ叢集簡介MQ
- Excel 提取想要的資料Excel
- 資料結構簡介資料結構
- MongoDB資料庫簡介MongoDB資料庫
- 資料立方體簡介
- NewSQL資料庫簡介SQL資料庫
- oracle資料字典簡介Oracle
- WIOD資料庫簡介資料庫
- 資料結構與演算法——AVL樹簡介資料結構演算法
- 資料結構與演算法——RB樹簡介資料結構演算法
- Python資料分析 Pandas模組 基礎資料結構與簡介Python資料結構
- PROC提取資料
- HSQL 資料庫介紹(1)--簡介SQL資料庫
- 簡單介紹Sybase資料庫的備份與恢復(轉)資料庫
- Oracle - 資料庫的組成簡介Oracle資料庫
- ORACLE字符集簡介Oracle
- 《Spark 3.0大資料分析與挖掘:基於機器學習》簡介Spark大資料機器學習
- 計算機控制技術課程簡介與資料計算機
- ffmpeg資料結構簡介資料結構
- 大資料技術簡介大資料
- Oracle:容器資料庫簡介Oracle資料庫
- Redis資料結構簡介Redis資料結構
- clickhouse資料型別簡介資料型別
- oceanbase資料庫簡介資料庫
- 大資料框架原理簡介大資料框架