图像标准化
问题描述:
在我看来,图像标准化是使每个像素都被标准化为一个介于0和1之间的值,对吗?图像标准化
但下面的代码是什么意思?
image_size = 28 # Pixel width and height.
pixel_depth = 255.0 # Number of levels per pixel.
for image in image_files:
image_file = os.path.join(folder, image)
try:
image_data = (ndimage.imread(image_file).astype(float) -
pixel_depth/2)/pixel_depth # WHY ??
if image_data.shape != (image_size, image_size):
raise Exception('Unexpected image shape: %s' % str(image_data.shape))
dataset[num_images, :, :] = image_data
num_images = num_images + 1
except IOError as e:
print('Could not read:', image_file, ':', e, '- it\'s ok, skipping.')
答
+0
的图像我知道了。但是在机器学习中使用不同范围作为数据集的区别是什么? – WeiJay
+0
这是一个完全不同的问题。这是我不熟悉的话题。我能想到的一件事就是自动将数据分为正数和负数。当你是例如试图找到范围的中间值(在这种情况下为0)。 –
标准化可能意味着很多事情。提示:为什么不是-0.5到0.5? – kazemakase
对!但有什么区别? – WeiJay
它看起来像这个代码它是一些超/多光谱成像的一部分。对于这些技术,这不是进行标准化的方法。代码所做的只是将一些pixcel转换成一个数据立方体,并将它们从8位图像转换为一个64/32位浮点数组,位于-0.5和0.5之间。还有,它会检查分辨率是否相同。 –