所以我有一个非常大的 Numpy 数组(2560x1920)。它实际上来自灰度图片,其中每个像素都被赋予一个 0-1 之间的数字,表示其亮度。
我试图用零替换低于阈值(例如 0.5)的所有值。
这可能是一个简单的任务,但我是 Numpy 的初学者,我已经四处搜索但仍然无法弄清楚。
这是我尝试过的,我知道这是错误的......
for x in np.nditer(Image):
if x < .5:
x == 0
plt.imshow(Image, cmap=plt.cm.gray)
plt.show()
它只是输出正常图像而不做任何改变。
该数组也看起来像这样(显然是缩写的):
[[ 0.24565263 0.24565263 0.24902149 ..., 0.27528678 0.27265316
0.27606536]
[ 0.24565263 0.24565263 0.24902149 ..., 0.27870309 0.27606536
0.27948296]
[ 0.24228902 0.24228902 0.24565263 ..., 0.28212482 0.27948296
0.282906 ]
...,
[ 0.29706944 0.29706944 0.29706944 ..., 0.17470162 0.17144636
0.17144636]
[ 0.29362457 0.29362457 0.29362457 ..., 0.17144636 0.16495056
0.16170998]
[ 0.2901852 0.2901852 0.2901852 ..., 0.16819602 0.16170998
0.15847427]]
numpy 内置索引,可用于替换元素。这可以通过以下方式完成:
Image[Image<0.5] = 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)