我刚看到this示例以不同的方式编写代码以使用CSR(集中式稀疏表示)进行去噪。但在那个例子中,我得到了几行,我不知道为什么他们使用了这行=>
行低于=>
1)
face = face[::2, ::2] + face[1::2, ::2] + face[::2, 1::2] + face[1::2, 1::2]
face /= 4.0
2)
data -= np.mean(data, axis=0)
data /= np.std(data, axis=0)
答案 0 :(得分:2)
第一个是extended slicing,第二个是standardization
<强>解释强>
1
path = Path.Combine(path,"Other Folder");
只是downsampling the image by bilinear interpolation (that is reducing its resolution).
在给定的示例中,face = face[::2, ::2] + face[1::2, ::2] + face[::2, 1::2] + face[1::2, 1::2]
face /= 4.0
的原始尺寸为face
。上述两条线有效地找到每个2x2像素的平均值并将其放在单个像素中。见下图。
蓝色的是图像的原始像素,红色的是周围像素的平均值。将此想法扩展为整个图像,您将获得[768,1024]
= face
的新分辨率降低。
这样做只是为了让计算变得更快。因为较大的图像将需要更多的时间处理。
2
[384, 512]
这是机器学习算法中的一种常用技术,可以围绕零均值和单位方差对数据进行缩放和居中。您可以参考许多资源了解有关标准化的更多信息。以下是一些: