Я работаю с набором данных глубины NYU V2. Набор данных с метками состоит из 1449 изображений RGB и соответствующей карты глубины
для чтения изображений RGB. Я должен масштабировать изображения, поскольку каждый пиксель кодируется как 8-битный целые числа в диапазоне [0-255]. И я должен преобразовать диапазон [0-255] в диапазон [0-1], разделив его на 255. Но для изображений глубины на какое число я должен делить? на домашней странице набора данных они ничего не написали о сакральном факторе, который они только подтверждают, что значения элементов глубины указаны в метрах. Я видел несколько проектов, которые они делят на 4.
Мой первый вопрос: как я могу узнать, в каком масштабе есть мои карты глубины? Когда он не предоставлен и зачем делить на 4?
import skimage.io as io
import numpy as np
import h5py # For .mat files
# data path
path_to_depth ='C:/Users/rnlabor/Desktop/coding/testing/nyu_depth_v2_labeled.mat'
# read mat file
f = h5py.File(path_to_depth,'r')
#read corresponding depth (aligned to the image, in-painted) of size [640 x480], float64
depth = f['depths'][1]
#reshape for imshow
depth_ = np.empty([480, 640, 3])
depth_[:,:,0] = depth[:,:].T
depth_[:,:,1] = depth[:,:].T
depth_[:,:,2] = depth[:,:].T
#scale durch 4
io.imshow(depth_/4.0)# (480,640)
io.show()
мой второй вопрос, как узнать значение каждого пикселя в изображении глубины, которое представляет расстояние в метрах?
мой третий вопрос, почему изображения глубины сохраняются в виде массива с 3 каналами? не будет ли этого достаточно, чтобы сохранить его в 1 канал, потому что глубина изображения в оттенках серого? Любая помощь приветствуется. Заранее спасибо