对于一个Numpy数组,有的时候我们想选取或者剔除某些符合条件的元素值,却突然发现除了一些特定的函数,如numpy.minimum()等,或者一个嵌套循环之外束手无策。
方法/步骤
1、让我们来到一个场景中:我们有一个名为Saliency的灰度图像数组,用来表示一张图片淘篱跬翎中受关注程度的不同。为了增强可视化效果,我们需要过滤掉数组中数值过小的元素,让其等于0,于是我们可以这么做
2、简单写,可以写作saliency[saliency<0.0001]=0#otheroperations...
3、我们来看看saliency<0.0001到底生成了什么,是一个逻辑数组。
4、对此我们可以进行合理外推,大家可以试试,对于(227,227,3)的图像,是否可以这样处理一些某个通道里的像素点
5、可能有人会想到,能否用这个trick来处理诸如saliency咯悝滩镞>0.0001&saliency<0.001的元素。我试了一下,这个技巧继续外推:
6、需要注意的是,List类型的变量并不支持上面所说的技巧。