我曾看到在OpenCV问题中将边界框浮点值转换为整数时使用了 np.int0
。
那么,np.int0
到底是什么?
我曾看到过 np.uint8
、np.int32
等类型。但我似乎在任何在线文档中都找不到 np.int0
。那么这个方法会将参数转换成什么样的整数?
int0
是 intp的别名,而 intp 则是用于索引的整数(与C语言中的 ssize_t 类型相同;通常为 int32
或 int64
)。
-- Numpy文档:基本类型
Scipy.org
的“数据类型”文档中没有提到这一点?这本来是很有帮助的。 - A. Hendryint0
是一个遗留值,numpy
是几个数值包(超过10年前)合并的结果。因此,为了向后兼容性而保留了各种重复的名称和函数。这是一个别名,在新代码中不需要。opencv
也很老,所以原始的Python端口可以使用其中一个numpy
的前身。 - hpaulj这只是一个别名,与 int64
相同,在 Python 2 或 Python 3 中都可以尝试:
>>> import numpy
>>> numpy.int0 is numpy.int64
True
np.int0(1.7)
给出其参数的整数部分。这段内容出现在一本关于OpenCV的2020年版书籍中。 - mins
# get complete list of datatype names
>>> np.sctypeDict.keys()
# returns the default integer type (here `int64`)
>>> np.sctypeDict['int0']
<class 'numpy.int64'>
# verify
>>> arr = np.int0([1, 2, 3])
>>> arr.nbytes
24
int0
的出现。在命令行中键入numpy.int0
也不够;这样做,你可能会认为它是一个固定大小的类型。已经有一个回答者犯了这个错误。 - user2357112np.int0
相关的任何内容。@user2357112 在网上有一些使用np.int0
的例子,但文档中没有。 - A. Hendrynp.int0
的内容。@Prune 在网上有使用np.int0
的示例,但文档中没有,这让我感到困惑。但我没有想到将其输入命令行。谢谢你!你能把找到的引用int0
等同于intp
的链接发送给我吗?我想将它们提交给numpydoc作为更新文档的拉取请求。 - A. Hendry