我有一个2d数组和图像,现在它有0和255,我想将所有255都更改为1,这对于for
循环来说是非常容易的任务。>
for i in range(lenX):
for j in range(lenY):
if img[i,j]==255:
img[i,j] = 1
这里img是我的数组。我很确定使用某种numpy函数或其他方法可以更简单地完成此操作。但是我到处都找不到。
如果您知道如何轻松进行此操作..请帮助我
答案 0 :(得分:6)
这样,您可以修改条件而无循环
img[img==255]=1
答案 1 :(得分:5)
使用np.where
import numpy as np
a = np.array([[1,9,1],[12,15,255],[255,1,245],[23,255,255]])
a = np.where(a==255, 1, a)
print(a)
输出:
[[ 1 9 1]
[ 12 15 1]
[ 1 1 245]
[ 23 1 1]]