色盲圖像矯正算法

色盲圖像矯正算法

本文章介紹三種,自適應映射算法、幾何變化的矯正算法、H分量選擇法。
從二色盲簡化模型基礎上,我們可以知道RGB顏色空間通過某個角度投射到色盲平面上,這樣會使原來的顏色被映射成另外一種顏色,最終導致與原來的顏色和其他映射到該位置的顏色分不清。
爲了提高顏色的分辨率,那麼只要把以上這些會被混淆的顏色投射到不同的顏色就可以了,說到底就是把這些顏色投射到顏色平面上的不同區域。
自適應映射算法
既然要映射到不同區域,考慮到顏色面同側的顏色距離比較近,差異比較小,而顏色面兩邊的顏色差異較大,還有圖像包含多種顏色,可是這些顏色分佈的概率不一樣。雖說將同一邊的顏色映射到一個區域,也會將同側的顏色變得非常相似,分辨率會造成降低,但同側顏色差異本身比較小,加上患者也可以通過原圖片來對照識別,所以可以忽略這種降低。
自適應算法是對顏色平面兩邊的顏色數經行統計,然後根據顏色的分不對映射面進行不同的分割,具體步驟如下。
基本原理:
以紅二色盲爲例,首先計算出R=G顏色面兩側的顏色數,R>G的顏色數設爲f1,而R<=G的顏色數設爲f2,然後將R=G的那個顏色面分爲S1和S2兩塊,並且使得f1/f2=S1/S2,然後將R>G的顏色映射到S1區域裏,其餘的映射到S2區域裏,最後保持圖像的R和G分量不變,只調整了B分量,這樣就能實現R>G和R<=G顏色空間的顏色投射到相應的顏色面區域裏。如下圖:紅色盲自適應映射劃分
這裏寫圖片描述
其中B’是調整後的B,而R跟G分量都沒有變,同理我們對於綠二色盲也有類似的步驟,可以直接套用上面是式子。
對於藍色色盲,映射的面是G=B面,所以我們可以保持G、B兩種分量不變,只改變R分量。
對於G>B的有R’=R*f1/(f1+f2);
對於G<=B的有R’=255*f1/(f1+f2)+R*f2/(f1+f2);其中,R’就是調整後的R。
下面是調整後的圖片以及模擬色盲後的圖片,以紅色色盲爲例。
這是原圖片
原圖片
原圖的紅色色盲模擬圖
紅色色盲模擬圖
自適應算法矯正後的圖
自適應算法矯正後的圖
矯正後的模擬色盲圖
矯正後的模擬色盲圖
原圖模擬紅色盲後可以發現看不見圖片鐘的牛,只能看見一隻鹿,而通過矯正算法後可以較好的區分出牛了。
幾何變換映射法
幾何變換映射法跟自適應映射法有類似的處理步驟,區別在於幾何變換映射法在完成顏色分佈統計後進行的劃分不一樣。
基本原理:
1.類似於自適應映射法,將顏色面一側的顏色數目與總顏色數目的比設爲ratio

這裏寫圖片描述
2.按照比例ratio劃分爲Rp=Gp顏色線,並在所取的平面上沿着Op-Gp平面方向劃線,並定義與顏色線的交點爲C,圍出M1和M2兩個三角區域(實際上是M1M2分別都是三棱柱)
這裏寫圖片描述
3.具體的映射到M1和M2如下,
當R>G時
R’=R*ratio;G’=G*ratio
當R<=G時
R’=R*(1-ratio),G’=G*(1-ratio)
R’和G’是變化後的R分量和G分量。但是這樣的壓縮辦法由於壓縮的比例過大,會使很多高頻部分的信息丟失,而我們在之前的色盲模型中紅色盲投射到R=G面的映射角是arctan(-0.14/0.86),大概是171度,我們可以沿着這一方向劃一直線分成兩個區域,這樣能保留更多的信息。下面是改進後的幾何變換映射法
這裏寫圖片描述
具體算法
1.跟原來的一樣,計算得到ratio
2.作出上圖的輔助線,得到劃分的區域M1和M2,其中M1對應R>G的顏色區域,M2是R<=G的顏色區域;
3.分別將顏色面兩側的區域映射到M1和M2,公式如下
當R>G時,映射到M1的有
G’=G*(ratio+tan171*(1-ratio));
當R<=G時,映射到M2
G’=255*(ratio-tan171*ratio)+G*(1-ratio+tan171*ratio);
綠色盲也可以按照同樣的算法來進行矯正只是他的偏斜角度變爲arctan(-0.33/0.67),而藍色色盲只需要保持R分量不變,B分量按照角度arctan(-0.14/0.85)變化即可。
下面是矯正的圖片
這裏寫圖片描述

矯正後的模擬圖片
這裏寫圖片描述

H分量旋轉法

發佈了22 篇原創文章 · 獲贊 13 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章