编程语言
首页 > 编程语言> > 用坐标列表索引二维数组的Python方法

用坐标列表索引二维数组的Python方法

作者:互联网

我有numpy.ndarray类和尺寸(200,2)的坐标.基本上是regionprops的输出.

我想索引昏暗的img.shape =(1000,1000)的图像矩阵(也是ndarray).
我希望能够做类似的事情

for prop in region:
    img[prop.coords] = 0

但是,发生的是,它没有将坐标视为行,列对.而是将每个数字作为行号并将整个行设置为0.

我怎样才能解决这个问题?

我试图重塑数组,但这似乎也不起作用.我唯一能想到的就是将这些索引转换为矩阵,该矩阵的尺寸与图像尺寸相同,并且这些坐标为1,所有其他坐标值为0.然后,使用该矩阵进行索引.但是,这似乎没有比使用for循环强行强制执行更有效.

解决方法:

您必须以元组形式提供坐标才能调用基本索引:

for prop in region:
    img[tuple(prop.coords.T)] = 0

标签:scikit-image,python,numpy
来源: https://codeday.me/bug/20191108/2005636.html