我在Numpy中有一个16x16x4数组。查找(x,y)坐标,其中z在numpy中通过测试
维度1:水平位置[0,15]
维度2:垂直位置[0,15]
维度3:一个RGB值0-255 [0,3]
以2048x1285和替换16×16:
for x in range(0,15):
for y in range(0,15):
不剪(向上7分做到这一点,洪水填充在每一个有趣的观点)。在PIL图像上迭代是很快的,但是一个numpy数组拖动(即7+分钟)。
numpy.where(bitmap == [red, green, blue, alpha])
似乎并不是我想要的。什么是相对较快的方式去做这件事?
编辑:
bitmap == [red, green, blue, alpha]
实际上几乎是有用的。如果z = [True,True,True,True],那么如何从16x16x4阵列到16x16x1阵列,其中array [x,y]为1,否则为0?
什么,你在每一个有趣的point'意思'洪水补办?在符合标准的每个点上进行的处理是否可能比搜索这些点需要更多的时间? – DGH
当位图= Image.open(“image.jpeg”)。load() – closeparen
当位图= Image.open(“image.jpeg”).load()时,相同的循环在2-3秒内完成。 当位图= numpy.asarray(Image.open(“image.jpeg”))时,该循环花费7.5分钟。 (我不介意在PIL图像上工作,但它最终会从skimage.color.colorconv中运行,它在NumPy阵列上运行)。 (对不起,最后一个评论在回车键上提交,当我完成作品时不可编辑...) – closeparen