Numpy 中的像素操作
Pixel manipulation in Numpy
我想将所有像素值转换为 0 而不是 255 的值。像素值保存在 Numpy 数组中,即 x 和:
x.shape = (100, 1, 256, 256)
如何用条件操作数组?
我尝试了下面的方法,但出现错误“ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()”
i=0
for i in x[i]:
if x[i]==255:
x[i] = x[i]
else:
x[i] ==0
只需使用:
x[x==255] = 0
测试:
# Repeatable randomness
np.random.seed(42)
# Synthesise array
x = np.random.randint(0,256, (100, 1, 256, 256), np.uint8)
# Count number of 255s
len(np.where(x==255)[0]) # result = 25671
# Make each 255 into 0
x[x==255] = 0
# Count number of 255s
len(np.where(x==255)[0]) # result = 0
我想将所有像素值转换为 0 而不是 255 的值。像素值保存在 Numpy 数组中,即 x 和:
x.shape = (100, 1, 256, 256)
如何用条件操作数组?
我尝试了下面的方法,但出现错误“ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()”
i=0
for i in x[i]:
if x[i]==255:
x[i] = x[i]
else:
x[i] ==0
只需使用:
x[x==255] = 0
测试:
# Repeatable randomness
np.random.seed(42)
# Synthesise array
x = np.random.randint(0,256, (100, 1, 256, 256), np.uint8)
# Count number of 255s
len(np.where(x==255)[0]) # result = 25671
# Make each 255 into 0
x[x==255] = 0
# Count number of 255s
len(np.where(x==255)[0]) # result = 0