【问题标题】:Changing the values of a matrix above a threshold in python在python中将矩阵的值更改为高于阈值
【发布时间】:2020-01-21 10:09:08
【问题描述】:

我有一个矩阵:

matrix = np.array([[[0,0.5,0.6],[0.9,1.2,0]],[[0,0.5,0.6],[0.9,1.2,0]]])

我想用0.55替换所有值0.55 < x < 0.95

PS:我的问题类似于this question。但答案在我的情况下不起作用。

【问题讨论】:

    标签: python image-processing matrix threshold image-thresholding


    【解决方案1】:

    你可以使用np.where:

    matrix = np.array([[[0,0.5,0.6],[0.9,1.2,0]],[[0,0.5,0.6],[0.9,1.2,0]]])
    matrix[np.where((matrix > 0.55) & (matrix < 0.95))] = 0.55
    # Or
    # matrix[(matrix > 0.55) & (matrix < 0.95)] = 0.55
    

    输出:

    >>> matrix
    array([[[0.  , 0.5 , 0.55],
            [0.55, 1.2 , 0.  ]],
    
           [[0.  , 0.5 , 0.55],
            [0.55, 1.2 , 0.  ]]])
    

    【讨论】:

      猜你喜欢
      • 2019-08-01
      • 2018-09-24
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 2017-03-29
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多