我通常理解僅使用灰度圖像時雙邊過濾背後的概念。我讀過this website on bilateral filtering和它討論的論文。顏色雙邊過濾
我的主要問題是:如何確定顏色的相似性?兩個RGB值的相似性是它們的R值,G值和B值的相似性的總和/乘積/其他操作嗎?如果是這種情況,那麼分別確定相似性並過濾每個通道是否合理?
謝謝
我通常理解僅使用灰度圖像時雙邊過濾背後的概念。我讀過this website on bilateral filtering和它討論的論文。顏色雙邊過濾
我的主要問題是:如何確定顏色的相似性?兩個RGB值的相似性是它們的R值,G值和B值的相似性的總和/乘積/其他操作嗎?如果是這種情況,那麼分別確定相似性並過濾每個通道是否合理?
謝謝
我檢查了你的鏈接,而答案就在那裏。它首先討論轉換到CIE實驗室色彩空間。然後計算點之間的歐幾里德距離,即 distance = sqrt(L*L + a*a + b*b)
Here是一個對XYZ,RGB和LAB色彩空間有幾種轉換公式的站點。
RGB值的歐氏距離不是對感知顏色相似性的好估計。
你鏈接的頁面說上面這個問題如下:
事實上,雙邊濾波器允許適當組合三個色條帶,並且在合併空間測量像素之間的距離光度。此外,通過在CIE-Lab色彩空間中使用歐幾里得距離,可以使這種組合距離與感知的不相似性密切對應。
因此,嘗試在CIE-Lab色彩空間中使用歐幾里德距離。
最好 拉爾斯
CIE-Lab色空間測量顏色之間的距離,工作正常。但是將RGB數據轉換爲這些色彩空間需要時間,這對於實時應用程序(尤其是移動應用程序)來說並不理想。
opencv代碼使用RGB通道之和的差值。
距離=(R1 + G1 + B1) - (R2 + G2 + B2)
GPUImage在GPU使用運行很好確切每個通道的歐幾里德距離。
discante = SQRT((R1-R2)^ 2 +(G1-G2)^ 2 +(B1-B2)^ 2)
在實際場景中(我開發一種實時雙邊濾波器應用在手機上),這兩種方法的作用相似。我相信不是將RGB轉換爲CIE-Lab色彩空間,而是使用上面的方法就足夠了。