我對均衡彩色圖像感興趣。根據this的文章,我所做的是從RGB圖像開始並將其轉換爲YIQ值。之後,我可以通過考慮由Y給出的亮度水平來獲得圖像的灰度版本。對該灰度圖像應用算法,可以得到原始圖像的灰度版本的或多或少的均衡版本。我想生成一個新的RGB圖像,保留原始圖像的顏色並校正亮度值,以獲得原始圖像的亮度均衡的RGB版本。在不改變顏色的情況下更改圖像亮度
首先,我嘗試將YIQ值轉換回RGB,但考慮到Y均衡後的修改值。通過這種方法,我得到了[0,1]以外的RGB值。
因爲這第一種方法不起作用,我試圖用相對成功的程度來做以下事情。對於每個像素,如果Y'是均衡後的亮度水平,並且Y是原始亮度值,則我考慮由R'=(Y'/ Y)R,G'=(Y'/ Y)G給出的新RGB值和B'=(Y'/ Y)B。也就是說,我增加了RGB分量分佈中的亮度等級保持比例。
即使第二種方法奏效,我仍然存在這樣的問題,即原始圖像中的一些顏色在均衡之後看起來不同。取決於原始圖像,這種效果或多或少是可以理解的。我的問題是,在校正亮度值的情況下,將原始RGB圖像轉換爲新圖像的顏色保存方法是什麼?請注意,在第二種方法(btw,唯一一個工作),我必須用公式中的(Y'/ Y)替換(Y'/ Y)和(1)中最大值之間的最小值/ R),(1/G)和(1/B),所以在任何組件中我都不會超過1。當然,這是另一個缺點,因爲對於某些像素,我無法獲得在灰度均衡步驟中計算的亮度級別。
我沒有完全理解爲什麼第一種方法不起作用?均衡的Y值在[0,1]之間,並且在使用新的Y和舊的I和Q之後,您獲得的RGB磨砂值大於1? –
@AmitayNachmani是或低於零。但是,如果你仔細想想,它確實有道理。三個值RGB用於計算每個YIQ值。如果修改Y得到Y',只要這個新值Y'是Y'IQ可能由某些有效的RGB座標生成的,就可以返回有效的RGB座標。 – ORerwannabe
是的,你是對的我的壞。 –