我正在尝试读取以16位数据类型编写的PNG图像文件。数据应转换为NumPy数组。但我不知道如何读取“16位”文件。我尝试使用PIL和SciPy,但它们在加载时将16位数据转换为8位数据。谁能告诉我如何在不更改数据类型的情况下从16位PNG文件读取数据并将其转换为NumPy数组?以下是我使用的脚本。fromscipyimportmiscimportnumpyasnpfromPILimportImage#makeapngfilea=np.zeros((1304,960),dtype=np.uint16)a[:]=np.arange(960)misc.imsave('16bit.png',a
通过反复试验,我发现了以下几行python代码,forNinrange(2**1,2**3):print[(2**n%(3*2**(2*N-n)))%(2**N-1)forninrange(2*N+1)]产生以下输出,[1,2,1,2,1][1,2,4,1,4,2,1][1,2,4,8,1,8,4,2,1][1,2,4,8,16,1,16,8,4,2,1][1,2,4,8,16,32,1,32,16,8,4,2,1][1,2,4,8,16,32,64,1,64,32,16,8,4,2,1]即2的幂直到2**(N-1),1和2的幂反转。这正是我的问题所需要的(fft和小波相关)。但是,我