我想索引 RGB 图像中的一些特定像素。我对 Python 比较陌生,所以我已经实现了索引,就像我在 Java/C# 中所做的那样。这是代码:# Pane width (height)pane_step, center = 20, 10for i in range(0, field_size * pane_step, pane_step): for j in range(0, field_size * pane_step, pane_step): r, g, b, = img[i + center, center + j, :] if (r, g, b) == (255, 0, 0): grid[int(i / pane_step)][int(j / pane_step)] = 2 elif (r, g, b) == (0, 128, 0): grid[int(i / pane_step)][int(j / pane_step)] = 1 elif (r, g, b) == (0, 0, 0): grid[int(i / pane_step)][int(j / pane_step)] = -1有没有更快、更“pythonic”的方法可以给我同样的结果?
2 回答
互换的青春
TA贡献1797条经验 获得超6个赞
这是你要找的吗?您可以使用 numpy 轻松选择中心和步长,然后遍历数组或直接在任何操作中使用它。
import numpy as np
d = np.arange(100).reshape((10,10))
center, step = 3
print(d[center::step, center::step])
array([[33, 36, 39],
[63, 66, 69],
[93, 96, 99]])
添加回答
举报
0/150
提交
取消