2014-01-05 144 views
0

我想從另一顏色中減去顏色。例如,我有兩個圖像100X100像素,一個顏色爲R:236 G:226 B:43,另一個R:63 G:85 B:235。我想從R:63 G:85 B:235切割顏色R:236 G:226 B:43。但我知道它不能像數學方法那樣減去層R:236-63,G:226-85,B:43-235,因爲我發現小於0和大於255的顏色不能定義。從RGB顏色空間中減去另一種顏色

我在RYB顏色空間中發現了另一個顏色空間,但我不知道它是如何工作的。

謝謝你的幫助。

+0

將您期待什麼結果減去顏色?例如,你會從「紅綠」中期望什麼?也許你需要告訴我們你的應用程序是什麼,所以我們可以看到*真正的問題。無論如何,HSV可能是一個更合適的色彩空間。 –

+0

我的申請是uria的照片(它看起來像黃色),然後拍攝另一張uria添加了測試物質的照片。我想檢查uria中白蛋白的數量。我想要去除烏里亞的顏色,因爲烏里亞在個人的顏色是不同的,通過同一個人但不同的時間,顏色是不同的。我只是想減少uria的顏色效果,以檢查白蛋白的真實質量 – user3101751

+0

如果兩幅圖像中的顏色不同,您打算如何檢測uria的顏色?他們有多麼不同,以及uria的顏色範圍是什麼?請張貼一些圖片。 – kkuilla

回答

1

你實際上不能減去顏色。但你一定可以察覺到他們的差異。無論如何,我想這是你需要的。
這裏有一些想法和言論:

  1. 將您的圖像HSV色彩空間,其將RGB值 色相,飽和度和亮度(值)。
  2. 所有的圖像都應該是黃色(接近60度,色調圈爲 ),所以它們應該都具有相同的色相,並且具有 的微小差異。
  3. 通常,如果所有圖像都是在恆定照明條件下拍攝的,則它們應具有相同的值(亮度)。
  4. 飽和度,對應於顏色中的白色混合物, 通常代表您感覺顏色的強度。這個 通常對於在恆定照明條件下的所有圖像具有大致相同的值。

根據您的第一手描述,主要區別應該在Hue頻道中檢測到。

約HSV一個好處是,H(色相)由逆時針循環代表和顏色都只是定位在這個圈子裏,所以正負值是行得通的(搜索谷歌爲HSV色彩空間的描述以瞭解它的外觀和工作原理)。

您可以要麼檢測由減法的值是正的或者負,或利用減法,這將只是給的中差的量度的絕對值差異,這將導致你兩個Hue值(但沒有關於差異方向的任何信息)。如果你需要差異的方向,你應該堅持一個簡單的減法。

例如:

Hue_1 - Hue_2 = Hue_3(通常爲您的問題的一個小的值)
如果Hue_3> 0,這意味着Hue_1是有點向綠色
如果 Hue_3 < 0這意味着Hue_1有點朝紅

當然,你可能還需要看看在其他渠道的不同,S和V,看看顏色是鐵道部飽和或更亮,但我不確定你需要這樣做,因爲我們在這裏沒有看到任何圖像。

當然,你可以做很多更復雜的東西...喜歡上檢測到的色調運用聚類或分類技術,並根據您的問題需要他們進行分類的類...

相關問題