如何計算RGBA顏色空間中兩種顏色之間的相似度?(其中背景顏色是未知當然)RGBA顏色空間中的顏色相似性/距離
我需要尋找圖像中的每個像素的最好調色板項*重新映射的RGBA圖像的RGBA顏色的調色板。
在RGB顏色空間中的最相似的顏色可被假定爲是一個具有最小歐氏距離。然而,這種方法不RGBA工作,例如,歐氏距離rgba(0,0,0,0)
到rgba(0,0,0,50%)
是不是rgba(100%,100%,100%,1%)
較小,但後者看起來要好得多。
我使用的是預乘RGBA色彩空間:
r = r×a
g = g×a
b = b×a
,我已經試過這個公式(編輯:See the answer below for better formula):
Δr² + Δg² + Δb² + 3 × Δa²
但它並不看最佳 - 在具有半透明漸變的圖像中,它找到導致不連續/尖銳邊緣的錯誤顏色。不透明顏色和阿爾法之間的線性比例看起來很腥。
什麼是最佳公式?
*)爲了簡化這個問題我忽略了誤差擴散,gamma和心理視覺色彩空間。
輕微相關:如果你想找到這個非歐空間RGBA顏色最接近,vp-trees是最好的。
超酷的問題!但是,我擔心背景顏色不是一個變量。我認爲你應該把它當作一個整體。 – anon 2011-01-21 02:01:48
當然,我可以把它作爲一個變量,但那將是**未知的變量** :) RGBA的整點是允許任何背景。 – Kornel 2011-01-21 08:58:34
您是否正在尋找一種公式,可以爲您提供所有可能的背景顏色的「距離」?或只是爲了一個未知的背景顏色? – 2011-01-21 11:41:23