[快速閱讀十一] 伊拉克團(tuán)隊(duì)的TAGC(低光增強(qiáng)效果)算法實(shí)現(xiàn)。
原論文信息如下:
論文標(biāo)題: Tuning adaptive gamma correction (TAGC) for enhancing images in low light
發(fā)表日期: 2025年07月
作者: Ghufran Alhamzawi, Alfoudi Ali Saeed, Suha Mohammed Hadi等
發(fā)表單位: University of Al-Qadisiyah, University of Information Technology and Communications等
原文鏈接:
http://arxiv.org/pdf/2507.19574v1=
AGC的核心思想非常巧妙:它通過分析圖像的亮度分布,自動(dòng)計(jì)算出最適合的伽馬校正參數(shù)。整個(gè)過程完全自動(dòng)化,不需要任何人工干預(yù)。具體來說,它分為四個(gè)步驟:
1. 計(jì)算亮度因子(L)根據(jù)人眼對(duì)不同顏色的敏感度,給RGB三個(gè)通道賦予不同權(quán)重。

2. 計(jì)算平均顏色因子(μ)取RGB三個(gè)通道的平均值,作為整體顏色基準(zhǔn)。

3. 計(jì)算自適應(yīng)伽馬系數(shù)(γ)結(jié)合亮度因子和平均顏色因子,動(dòng)態(tài)調(diào)整伽馬值。

4. 應(yīng)用自適應(yīng)伽馬校正使用計(jì)算出的伽馬值對(duì)圖像進(jìn)行增強(qiáng)處理。

以上都是針對(duì)單個(gè)像素處理的。
這個(gè)算法弄成代碼也不是很復(fù)雜的,分享如下:
void IM_TAGC_Enhancement(unsigned char *Src, unsigned char *Dest, int Width, int Height, int Stride) { int Channel = Stride / Width; float Inv255 = 1.0f / 255; if (Channel == 3) { for (int Y = 0; Y < Height; Y++) { unsigned char *LinePS = Src + Y * Stride; unsigned char *LinePD = Dest + Y * Stride; for (int X = 0; X < Width; X++) { float Blue = LinePS[0] * Inv255; float Green = LinePS[1] * Inv255; float Red = LinePS[2] * Inv255; float L = 0.2126f * Red + 0.7152 * Green + 0.0722 * Blue; float A = (Blue + Green + Red) / 3; float Gamma = 5.0f + (0.5f - L) * (1 - A) - 2 * L; LinePD[0] = ClampToByte((int)(powf(Blue, 2 / Gamma) * 255 + 0.4999999f)); LinePD[1] = ClampToByte((int)(powf(Green, 2 / Gamma) * 255 + 0.4999999f)); LinePD[2] = ClampToByte((int)(powf(Red, 2 / Gamma) * 255 + 0.4999999f)); LinePS += 3; LinePD += 3; } } } }
效果嗎,確實(shí)能做到作者論文里的效果的,說明作者是沒有作假的。


不過對(duì)有些圖像的處理效果就還是有點(diǎn)灰蒙蒙的,整體對(duì)比度不高。
至于算法的速度并不像有些文章里說的可以滿足4K視頻實(shí)時(shí)增強(qiáng)的,雖然上面提供的代碼只是示意代碼,可以進(jìn)行大量的優(yōu)化,但是最后的pow函數(shù)是個(gè)非常耗時(shí)的過程,而且似乎沒有設(shè)么好的辦法去避免這個(gè)計(jì)算,不算前面文章那個(gè)pow(x,1.5)可以轉(zhuǎn)換為x * sqrt(x)。
不過這個(gè)點(diǎn)和我一樣還在研究傳統(tǒng)算法的,又是伊拉克的團(tuán)隊(duì),這份精神還是值得表揚(yáng)的。
Demo下載地址:https://files.cnblogs.com/files/Imageshop/TAGC.rar?t=1754469391&download=true
浙公網(wǎng)安備 33010602011771號(hào)