2024-09-28 19:27:05 发布
网友
使用python和numpy,如何生成一个(x,y,pixelValue(x,y))格式的所有坐标的列表?我可以使用以下for循环来实现这一点:
img = cv2.imread('messi5.jpg',0) data = [] for x in range(img.shape[1]): for y in range(img.shape[0]): data.append((x, y, data[x, y]))
但是当我的图像包含大约400万像素时,这样做需要相当长的时间。谢谢!在
numpy.ndenumerate将立即创建生成器。如果你真的需要,你可以把它转换成一个列表到。在
numpy.ndenumerate
>>> np.ndenumerate(np.eye(2)) <numpy.lib.index_tricks.ndenumerate at 0x20d485f8> >>>for elem in np.ndenumerate(np.eye(2)): ... print elem ... ((0L, 0L), 1.0) ((0L, 1L), 0.0) ((1L, 0L), 0.0) ((1L, 1L), 1.0) >>>list(np.ndenumerate(np.eye(2))) [((0L, 0L), 1.0), ((0L, 1L), 0.0), ((1L, 0L), 0.0), ((1L, 1L), 1.0)]
numpy.ndenumerate
将立即创建生成器。如果你真的需要,你可以把它转换成一个列表到。在相关问题 更多 >
编程相关推荐