通过提供角点索引更改numpy数组值

2024-06-26 13:00:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图更改2D numpy数组的某些矩阵值。 我需要这个在像素级对图像区域进行分类

想象一下有一个矩阵,如:

a = [ [1,  2,  3,  4 ]
      [5,  6,  7,  8 ] 
      [9,  10, 11, 12]
      [13, 14, 15, 16] ].

我想通过“绘制”一条线来更改值。就像我在值5,11和16之间画了一条线。 我希望将此行下面的值更改为0。因此:

a = [ [1,  2,  3,  4 ]
      [5,  6,  7,  8 ] 
      [0,  0, 11,  12]
      [0,  0,  0,  16] ].

有规律地使用带状矩阵和对角函数,很容易改变矩阵值。但是如何处理不规则的几何愿望呢? 另一个用例是拥有一个几何图形,或者详细描述一个几何图形的角点。 有没有办法给四个角点来创建一个长方体

例如corner_points = [ [1,1], [3,1], [1,2], [4,3] ] 这将导致:

a = [ [0,  0,  3,  4 ]
      [0,  0,  0,  8 ] 
      [0,  0,  0,  12]
      [13, 14,  0, 16] ]

我不需要它是完全准确的,一个粗略的近似是非常有用的

提前感谢,如果我解释不正确,请提问,这样我就可以完成这个挑战


Tags: 函数图像numpy区域绘制分类矩阵像素