python實現(xiàn)圖像自動Gamma校正方式
python圖像自動Gamma校正
關(guān)于Gamma
Gamma校正是對動態(tài)范圍內(nèi)亮度的非線性存儲/還原算法,即輸入值進行的非線性操作,使輸出值與輸入值呈指數(shù)關(guān)系;
從效果上來說Gamma校正調(diào)整圖像的整體亮度,沒有校正的圖像看起來可能會存在過亮或太暗的情況,所以想要圖像顯示效果更完美,Gamma校正就顯得很重要了。
Gamma矯正的計算過程如下:
output=〖input〗^(1/Gamma)
使用上面的指數(shù)函數(shù)把每個像素的RGB值進行變換。
具體執(zhí)行下列轉(zhuǎn)換公式(假定像素值的取值范圍為0到255):
R=〖255X(R/255)〗^((1/gamma)) G=〖255X(G/255)〗^((1/gamma)) B=〖255X(B/255)〗^((1/gamma))
一般處理Gamma矯正都是通過手動調(diào)節(jié)gamma值來完成的,
但如果圖片多的情況下,手動設(shè)置gamma值顯得過于麻煩,
這時候就需要采用自動Gamma矯正,將RGB圖片轉(zhuǎn)成灰度圖,
計算灰度圖的數(shù)據(jù)均值,通過下面的計算公式計算gamma值。
gamma_val = math.log10(0.5) / math.log10(mean / 255)
python實現(xiàn)
import cv2 import numpy as np import math import os def gamma_trans(img, gamma): # gamma函數(shù)處理 gamma_table = [np.power(x / 255.0, gamma) * 255.0 for x in range(256)] # 建立映射表 gamma_table = np.round(np.array(gamma_table)).astype(np.uint8) # 顏色值為整數(shù) return cv2.LUT(img, gamma_table) # 圖片顏色查表。另外可以根據(jù)光強(顏色)均勻化原則設(shè)計自適應(yīng)算法。 def nothing(x): pass data_base_dir = r'./1' # 輸入文件夾的路徑 outfile_dir = r'./2' # 輸出文件夾的路徑 list = os.listdir(data_base_dir) list.sort() list2 = os.listdir(outfile_dir) list2.sort() for file in list: # 遍歷目標(biāo)文件夾圖片 read_img_name = data_base_dir + '/' + file.strip() # 取圖片完整路徑 image = cv2.imread(read_img_name) # 讀入圖片 img_gray = cv2.imread(read_img_name, 0) # 灰度圖讀取,用于計算gamma值 mean = np.mean(img_gray) gamma_val = math.log10(0.5) / math.log10(mean / 255) # 公式計算gamma image_gamma_correct = gamma_trans(image, gamma_val) # gamma變換 out_img_name = outfile_dir + '/' + file.strip() cv2.imwrite(out_img_name, image_gamma_correct) print("The photo which is processed is {}".format(file))
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
談?wù)凱ython:為什么類中的私有屬性可以在外部賦值并訪問
這篇文章主要介紹了談?wù)凱ython:為什么類中的私有屬性可以在外部賦值并訪問,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python3 shutil(高級文件操作模塊)實例用法總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于Python3 shutil實例用法內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-02-02python自動化腳本安裝指定版本python環(huán)境詳解
這篇文章主要為大家詳細介紹了python自動化腳本安裝指定版本python環(huán)境的相關(guān)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09