Python 如何将0,255二进制图像转换为0,1二进制图像?

Python 如何将0,255二进制图像转换为0,1二进制图像?,python,python-3.x,opencv,image-processing,Python,Python 3.x,Opencv,Image Processing,我在表格中有一个图像img array([[ 0, 0, 0, ..., 255, 255, 255], [ 0, 0, 0, ..., 255, 255, 0], [ 0, 0, 0, ..., 255, 0, 0], ..., [ 0, 0, 0, ..., 0, 0, 0], [ 0, 0, 0, ..., 0, 0, 0],

我在表格中有一个图像
img

array([[  0,   0,   0, ..., 255, 255, 255],
       [  0,   0,   0, ..., 255, 255,   0],
       [  0,   0,   0, ..., 255,   0,   0],
        ...,
       [  0,   0,   0, ...,   0,   0,   0],
       [  0,   0,   0, ...,   0,   0,   0],
       [  0,   0,   0, ...,   0,   0,   0]], dtype=uint8)

是否有任何内置python函数可以将这样的图像转换为0,1二值化?

您的每一行都是一个
列表,您需要从每个列表中检查值是否为
255
。如果是
255
则转换为1

要获得每一行和每一列的索引,您可以通过
列表

枚举(img)中i、v1的
:
对于枚举中的j,v2(v1):
如果v2==255:
img[i,j]=1
结果:

[[0 0 1 1]
[0 0 0 1 1 0]
[0 0 0 1 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]]
代码:

将numpy导入为np
img=np.array([[0,0,0,255,255,255],
[0,   0,   0, 255, 255,   0],
[0,   0,   0, 255,   0,   0],
[0,   0,   0,   0,   0,   0],
[0,   0,   0,   0,   0,   0],
[0,0,0,0,0,0]],dtype=np.uint8)
对于i,枚举中的v1(img):
对于枚举中的j,v2(v1):
如果v2==255:
img[i,j]=1
打印(img)

将图像除以255。有关答案,请参见**。