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。有关答案,请参见**。