我有一个大小为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,而不是{}?在