【发布时间】:2025-12-01 19:45:02
【问题描述】:
我有一个 numpy 数组,例如:
signal =array([[ 0, 0, 0, 3485, 3480, 3474],
[ 0, 0, 0, 5644, 5642, 5655],
[ 0, 0, 0, 6622, 6541, 6623],
[ 4555, 4656, 11232, 11265, 11564, 11553],
[ 3450, 3455, 3536, 3510, 3564, 3375]])
我使用了缩放((signal) / np.max(signal)*255).astype(np.uint8)
变成了
f = array([[ 0, 0, 0, 76, 76, 76],
[ 0, 0, 0, 124, 124, 124],
[ 0, 0, 0, 146, 144, 146],
[100, 102, 247, 248, 255, 254],
[ 76, 76, 77, 77, 78, 74]], dtype=uint8)
所以,现在我想从f 数组生成signal 数组。
我尝试了反向比例,
(f * np.max(signal)/255).astype(np.uint32)
但它给了我
array([[ 0, 0, 0, 105, 105, 105],
[ 0, 0, 0, 226, 226, 226],
[ 0, 0, 0, 195, 105, 195],
[165, 256, 150, 195, 255, 210],
[105, 105, 150, 150, 196, 14]])
这是不合适的。 那么我应该怎么做才能反转数组的缩放以获得之前的原始输入数据呢?
【问题讨论】:
-
使用
f.astype(np.uint32) * np.max(signal) // 255,您可以在量化后获得最佳重建效果。 -
@MichaelSzczesny 谢谢,它的工作