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