array1所以我有一个np.unique(array1)给我[0 1 7 8]值的一维 int64 numpy 数组。
我转换array1为 uint8 图像数组array2,如下所示array2 = (array1 * 50).astype(np.uint8):考虑到唯一像素值 [0 1 7 8] 的值太小,乘数 50 至少可以使我的输出可视化。
现在,当我尝试array1按如下方式检索时:
[1] recon_array1 = array2.astype(np.int64)/50
[2] recon_array1 = recon_array1.astype(np.int64)
并且执行np.unique(recon_array1),它实际上给了我[0 1 2]。我认为这是因为多次转换,例如 [1] 实际上给了我一个dtype = float64具有唯一值的[0 1 1.88 2.88]。因此,认识到这一点并将其转换为 int64,就像在 [2] 中一样,输出[0 1 2]是有意义的。
我的最终目标是检索array1具有唯一值的原件[0 1 7 8]。有人可以指出我的错误吗?array1是否仍然可以检索,应该进行什么样的转换处理?谢谢你。