我有一个 numpy 数组“图像”,它是一个二维数组,其中每个元素都有两个组件。我想将其转换为另一个二维数组,其中每个元素都有三个组件。前两个和第三个是从前两个计算出来的,如下所示:
for x in range(0, width):
for y in range(0, height):
horizontal, vertical = image[y, x]
annotated_image[y, x] = (horizontal, vertical, int(abs(horizontal) > 1.0 or abs(vertical) > 1.0))
此循环按预期工作,但与其他 numpy 函数相比非常慢。对于中等大小的图像,这需要不可接受的 30 秒。
是否有不同的方法可以进行相同的计算但速度更快?不必保留原始图像数组。