如何为黑白图像创建numpy数组?

How to create a numpy array for a black/white image?

提问人:W. Wang 提问时间:10/2/2023 最后编辑:Matt HallW. Wang 更新时间:10/3/2023 访问量:63

问:

如果我们想为 RGB 图像从头开始创建一个 numpy 数组,我们可以使用arr = numpy.zeros([height, width, 3], dtype=numpy.uint8)

但是应该使用什么 dtype 来对黑白图像执行相同的操作,即像素值是 True 或 False?

蟒蛇 numpy dtype

评论

1赞 Quang Hoang 10/2/2023
dtype='uint8'的大小与 相同。我只会用.dtype=booluint8

答:

0赞 Prudhviraj Panisetti 10/2/2023 #1

也许你可以试试这个(是内置的已弃用别名。若要避免现有代码中出现此错误,请单独使用。这样做不会改变任何行为,并且是安全的。np.boolboolbool

import numpy as np

height, width = 100, 100
bw_image = np.zeros([height, width], dtype=bool)
print(bw_image)

bool可用作 dtype 来表示黑白图像,其中每个像素可以具有值 True (1) 或 False (0)。

评论

0赞 W. Wang 10/4/2023
你的回答解决了我的问题。谢谢!
0赞 Meaningful Life 10/2/2023 #2

如果你想为黑白图像创建一个numpy数组,你只需要添加dtype=bool

height, width = 100, 100
image = np.zeros([100, 100], dtype=bool)

评论

0赞 W. Wang 10/4/2023
我已经用你的解决方案进行了测试,它有效。谢谢!