python uint8 int_如何强制将我的所有值从uint8转换为int而不是int64

我有一个大小为ndarray的numpy 112 * 92。这基本上是使用cv2.imread读取的灰度图像。因为它的灰度所以它的最大值是255。在

但是我在运行public_key.encrypt()命令时遇到一个错误:Traceback (most recent call last):

File "/usr/lib/python3.5/code.py", line 91, in runcode

exec(code, self.locals)

File "", line 1, in

File "", line 1, in

File "/usr/local/lib/python3.5/dist-packages/phe/paillier.py", line 169, in encrypt

encoding = EncodedNumber.encode(self, value, precision)

File "/usr/local/lib/python3.5/dist-packages/phe/encoding.py", line 176, in encode

% type(scalar))

TypeError: Don't know the precision of type .

我尝试使用float和int64,我一直得到相同的错误,除了最后一行中的类更改。在

奇怪的是,如果我在他们的网站上运行这个例子,其中一个列表是手动输入的,它的工作原理是完美的。我能理解的numpy数组和他们的示例之间的唯一区别是类型。在

当签入inspector时,它们的类型是int,而我的是uint8。在

^{pr2}$

如果我对我的阵列做同样的操作,我得到:type(image)

type(image[0][0])

我试图通过使用image.astype(int)将其转换为int,但是我得到了一个int64类型,它在加密时给出了相同的错误。在

有没有一种方法可以将所有值转换为int,而不是{}?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值