如何将栅格dtype从uint8转换为float32?

沙明·艾哈迈德(Sharmin Ahmed)

我想堆叠多个栅格,但是其中一些栅格具有float32,而某些栅格具有uint8作为dtype。这给了我这个错误

ValueError:数组的dtype'uint8'与文件的dtype'float32'不匹配

我使用的代码:

import os
import earthpy.spatial as es
from earthpy.io import path_to_example
band_fnames = ["red.tif", "green.tif", "blue.tif"]
band_paths = [path_to_example(fname) for fname in band_fnames]
destfile = "./stack_result.tif"
arr, arr_meta = es.stack(band_paths, destfile)

有人知道如何解决这个问题吗?

帕迪·哈里森

您可以使用astypenumpy数组方法:

import numpy as np

a = np.array([1, 2], dtype=np.unit8)
a.dtype
>>> dtype('uint8')

b = a.astype(np.float32)
b.dtype
>>> dtype('float32')

# values are the same but now floats
b
>>> array([1., 2.], dtype=float32)

我建议dtype使用上述类似的方法将要堆叠的所有数组转换为相同的数组

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Tensorflow:如何将 float32 转换为 uint8

来自分类Dev

如何将UInt32转换为UInt8

来自分类Dev

将uint8转换为uint32

来自分类Dev

将[] uint8转换为float64

来自分类Dev

将uint8转换为uint8 []

来自分类Dev

将uint8转换为uint8 []

来自分类Dev

如何将uint8转换为字符串

来自分类Dev

为什么我必须将“ uint8”转换为“ float32”

来自分类Dev

如何将数据转换为UnsafePointer <UInt8>?

来自分类Dev

如何将“对象”的 dtype 更改为 float32?

来自分类Dev

C ++ 11/14将std :: uint32转换为std :: vector <std :: uint8>

来自分类Dev

将uint8 *转换为uint32 *如何工作?

来自分类Dev

将 numpy uint8 输入 tensorflow float32 占位符

来自分类Dev

如何将字符串转换为UnsafePointer <UInt8>和长度

来自分类Dev

Swift:如何将String转换为UInt8数组?

来自分类Dev

如何将 String 转换为 UnsafeMutablePointer<UInt8> ?斯威夫特 3

来自分类Dev

如何将 JS 中的字符/字符串转换为 uint8?

来自分类Dev

将图像数据类型从uint16转换为uint8

来自分类Dev

如何将uint32转换为字符串?

来自分类Dev

从float32转换为float时如何保持精度?

来自分类Dev

将UInt8转换为字符UTF8

来自分类Dev

将dtype(uint8)的Numpy ndarray转换为OpenCV可读图像

来自分类Dev

Javascript:从Int16转换为Float32

来自分类Dev

Julia 将 UInt32 转换为 UInt8 向量

来自分类Dev

如何将uint32_t转换为double或float和print?

来自分类Dev

如何将Uint8Array转换为JavaScript中的float?

来自分类Dev

Dart将两个Uint8转换为一个Uint16

来自分类Dev

C++:如何将 uint32 中的相关位放入 uint8?

来自分类Dev

Numpy 将 float32 转换为 float64