2011-02-15 59 views
1

我通常理解僅使用灰度圖像時雙邊過濾背後的概念。我讀過this website on bilateral filtering和它討論的論文。顏色雙邊過濾

我的主要問題是:如何確定顏色的相似性?兩個RGB值的相似性是它們的R值,G值和B值的相似性的總和/乘積/其他操作嗎?如果是這種情況,那麼分別確定相似性並過濾每個通道是否合理?

謝謝

回答

3

我檢查了你的鏈接,而答案就在那裏。它首先討論轉換到CIE實驗室色彩空間。然後計算點之間的歐幾里德距離,即 distance = sqrt(L*L + a*a + b*b)

Here是一個對XYZ,RGB和LAB色彩空間有幾種轉換公式的站點。

2

RGB值的歐氏距離不是對感知顏色相似性的好估計。

你鏈接的頁面說上面這個問題如下:

事實上,雙邊濾波器允許適當組合三個色條帶,並且在合併空間測量像素之間的距離光度。此外,通過在CIE-Lab色彩空間中使用歐幾里得距離,可以使這種組合距離與感知的不相似性密切對應。

因此,嘗試在CIE-Lab色彩空間中使用歐幾里德距離。

最好 拉爾斯

2

CIE-Lab色空間測量顏色之間的距離,工作正常。但是將RGB數據轉換爲這些色彩空間需要時間,這對於實時應用程序(尤其是移動應用程序)來說並不理想。

我有支票opencvGPUImage的代碼。

opencv代碼使用RGB通道之和的差值。

距離=(R1 + G1 + B1) - (R2 + G2 + B2)

GPUImage在GPU使用運行很好確切每個通道的歐幾里德距離。

discante = SQRT((R1-R2)^ 2 +(G1-G2)^ 2 +(B1-B2)^ 2)

在實際場景中

(我開發一種實時雙邊濾波器應用在手機上),這兩種方法的作用相似。我相信不是將RGB轉換爲CIE-Lab色彩空間,而是使用上面的方法就足夠了。