Numpy 将PIL图像的np.array转换为二进制

Numpy 将PIL图像的np.array转换为二进制,numpy,python-imaging-library,bin,Numpy,Python Imaging Library,Bin,我试图将我得到的PIL图像的numpy数组转换为二进制数组,但我尝试过的任何方法都不起作用。 到目前为止,我得到的是: 从PIL导入图像 将numpy作为np导入 pixels=np.array(Image.open(“covid\u encrypted\u new.png”).getdata() def至_箱(像素): 返回[i的格式(i,“08b”),以像素为单位] 另外,当我尝试迭代数组并将每个值更改为bin类型时,我也不满意。 我还能试什么? 谢谢这可能就是你想要的 在这里: #读取图

我试图将我得到的PIL图像的numpy数组转换为二进制数组,但我尝试过的任何方法都不起作用。 到目前为止,我得到的是:

从PIL导入图像
将numpy作为np导入
pixels=np.array(Image.open(“covid\u encrypted\u new.png”).getdata()
def至_箱(像素):
返回[i的格式(i,“08b”),以像素为单位]
另外,当我尝试迭代数组并将每个值更改为bin类型时,我也不满意。 我还能试什么?
谢谢

这可能就是你想要的

在这里:

#读取图像
img=Image.open(文件路径)
#将图像转换为Numpy作为数组
img=np.数组(img)
#将阈值设置为二进制
binarr=np.where(img>128255,0)
#将numpy阵列隐藏回图像
binimg=Image.fromarray(binarr)
您甚至可以使用opencv进行转换

img=np.array(Image.open(文件路径))
_,bin_img=cv2。阈值(img,127255,cv2.THRESH_二进制)

数据已经以二进制格式存储,作为数字矩阵。在枕头的情况下,它使用uint8(带8位的无符号整数)。你想干什么?您正在尝试以文本格式打印图像吗?对于顶部像素为黑色、中间像素为中灰色、底部像素为白色的3像素高x 1像素宽的图像,您希望结果是什么样的?请单击“编辑”,并将其添加到您的问题中,而不是添加到评论中。非常感谢。