大家好,抱歉我的英语不好! 我有一个小问题:我必须转换ndarray(灰度图像)的所有元素。特别是如果我的值为0,则所需值为0,而> 0的值将变为1。 是否有numpy的功能可以做到这一点? 我可以这样做两个,但我认为这不是最佳解决方案。
答案 0 :(得分:1)
您应该在numpy中查找花式索引和/或布尔索引。 实际上,您可以做的就是这样
array[array>0] = 1
这会将所有索引> 0设置为1
答案 1 :(得分:1)
如果您不想“就地”工作,可以这样做:
def to_bw(img, dtype=np.uint8):
return (img > 0).astype(dtype)
例如您将其用作:
import numpy as np
to_bw(np.array([0,1,2]))
它将评估为:
array([0, 1, 1])
请注意,这听起来很像:Convert RGB to black OR white