• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:python实现图像自动Gamma校正SDK社区

python 搞代码 3年前 (2022-02-20) 28次浏览 已收录 0个评论

对于Gamma:

Gamma校对是对动静范畴内亮度的非线性存储/还原算法,即输出值进行的非线性操作,使输入值与输出值呈指数关系;从成果上来说Gamma校对调整图像的整体亮度,没有校对的图像看起来可能会存在过亮或太暗的状况,所以想要图像显示成果更完满,Gamma校对就显得很重要了。 Gamma改正的计算过程如下:

`output=〖input〗^(1/Gamma)` 

应用下面的指数函数把每个像素的RGB值进行变换。具体执行下列转换公式(假设像素值的取值范畴为0到255):

`R=〖255X(R/255)〗^((1/gamma))
G=〖255X(G/255)〗^((1/gamma))
B=〖255X(B/255)〗^((1/gamma))` 

个别解决Gamma改正都是通过手动调节gamma值来实现的,但如果图片多的状况下,手动设置gamma值显得过于麻烦,这时候就须要采纳主动Gamma改正,将RGB图片转成灰度图,计算灰度图的数据均值,通过上面的计算公式计算gamma值。

`gamma_val = math.log10(0.5) / math.log10(mean / 255)` 

python实现:

import cv2
import numpy as np
import math
import os

def gamma_trans(img, gamma):  # gamma函数解决
    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)  # 色彩值为整数
    return cv2.LUT(img, gamma_table)  # 图片色彩查表。另外能够依据光强(色彩)平均化准则设计自适应算法。

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:  # 遍历指标文件夹图片
    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)) 

原文链接:https://www.sdk.cn/details/veYqE8z9ZReZb7Wj4Q

SDK社区是一个中立的社区,这里有多样的前端常识,有丰盛的api,有爱学习的人工智能开发者,有有趣风趣的开发者带你学python,还有将来炽热的鸿蒙,当各种元素组合在一起,让咱们一起脑洞大开独特打造业余、好玩、有价值的开发者社区,帮忙开发者实现自我价值!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:python实现图像自动Gamma校正SDK社区
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址