我正在玩Python中的程序來創建十字繡方案,並且需要將圖像中的顏色減少爲特定的牙線顏色like this。不必使用牙線調色板中的所有顏色。 在Python或僞代碼上。如何將圖像調色板減少爲特定顏色?
定製調色板(在丸/枕頭例如)不situable。最多有256種顏色,但牙線調色板有大約450種顏色,我打算使用來自不同製造商的多種顏色圖表。
抖動也不適用於交叉拼接。
我認爲這可能是這樣的:
result = []
for pixel_color in image:
nearest = None
for floss_color in floss_palette:
distance = delta_e_cie2000(pixel_color, floss_color)
if distance < nearest:
nearest = floss_color
result.append(nearest)
可能有更快的算法? (image_width * image_heigh *調色板中的顏色= 112M delta_e計算和平均500x500px圖像上的比較。很多。)
Dictonary for already calculated delta_e?另一種算法/ aproach /優化?
memoize的 - 你不需要重新測試,你已經做了 – stark