伽馬校正 Gamma Correction


一. 伽馬校正簡介:

        伽馬校正用來對照相機等電子設備傳感器的非線性光電轉換特性進行校正。如果圖像原樣顯示在顯示器等上,畫面就會顯得很暗。伽馬校正通過預先增大 RGB 的值來排除影響,達到對圖像校正的目的。


伽馬校正做了什么 ↑
 

二. 伽馬校正算法:

        非線性變換是由下式引起的,其中I_in和I_out 被歸一化,限定在 [0,1] 范圍內,c是常數,g為伽馬變量,通常取 2.2。


該式引起非線性變換 ↑
 

        我們只需要進行上面非線性變換的逆變換就可以進行伽馬校正了,伽馬校正式子如下:


伽馬校正算法 ↑
 

三. 伽馬校正python實現,其中c=1,g=2.2

 1 import cv2
 2 import numpy as np
 3 import matplotlib.pyplot as plt
 4 
 5 # gamma correction
 6 def gamma_correction(img, c=1, g=2.2):
 7     out = img.copy()
 8     out /= 255.
 9     out = (1/c * out) ** (1/g)
10 
11     out *= 255
12     out = out.astype(np.uint8)
13 
14     return out
15 
16 # Read image
17 img = cv2.imread("../paojie.jpg").astype(np.float)
18 # Gammma correction
19 out = gamma_correction(img)
20 # Save result
21 cv2.imshow("result", out)
22 cv2.imwrite("out.jpg", out)
23 cv2.waitKey(0)
24 cv2.destroyAllWindows()

 


四. 實驗結果:


原圖 ↑
 

伽馬校正后 ↑
 

        說白了,照相機等電子設備傳感器在成像時會使得圖像變暗,變得不真實,我們采用伽馬校正來校正圖像,使得圖像明亮真實。


五. 參考內容:

  https://www.jianshu.com/p/933cae73a996


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM