Coo*_*rab 6 python arrays rgb image scipy
我有3个阵列,400x600,代表我想要制作的图像的3种颜色.
我在这里找到了一个潜在的方法:http://docs.scipy.org/doc/scipy-0.13.0/reference/generated/scipy.misc.imsave.html但他们希望我将浮动转换为uint8.现在,如果我通过'image.dtype = np.uint8'更改dtype,那么以某种方式将维度更改为400x600x24(而当我不更改类型时,它是400x600x3)
我该如何改变?(其他方法也欢迎)
aba*_*ert 15
image.dtype = np.uint8只是强行将字节转换float64为uint8.由于每个float64字节需要8个字节,而每个uint8字节只有1个字节,因此您得到的值是8倍.
要转换值,而不是重新解释字节,您需要以下astype方法:
image = image.astype(np.uint8)
Run Code Online (Sandbox Code Playgroud)
但是,由于两个原因,这可能不会非常有用.首先,大的,你的浮动值可能都在0.0-1.0范围内.第二,astype截断,而不是舍入.因此,转换为整数时只会让几乎所有的人0,其余的1,而不是平稳,从0-255.
那么,你可能想要的是:
image = (image * 255).round().astype(np.uint8)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8755 次 |
| 最近记录: |