0
我正在用Python实现基本的全局阈值。算法的一部分涉及根据其强度将像素分组到两个容器中;Python性能还是PIL的不良使用?
group_1 = []
group_2 = []
for intensity in list(image.getdata()):
if intensity > threshold:
group_1.append[]
else:
group_2.append[]
对于超过0.5百万像素的图像,此方法通常使用约5秒或更长时间。在每种可能的方法中,我需要检查每个像素,所以我想知道是否有更快的方法来执行此操作(使用PIL,其他数据结构或算法中的其他方法?),还是仅仅是Python性能问题?
你为什么要从数据列表中?这是一个可迭代的,所以只是迭代它。 – 2013-04-26 23:51:26
你是对的,我没有把它作为一个列表,但它没有执行任何更快的数据迭代,而不是数据列表。 – Skogen 2013-04-26 23:55:19
不要迭代每个像素。在PIL中可能有更好的方法,但是你可以对数据进行排序(C速度)并将其分割为阈值。 – 2013-04-26 23:56:38