python快速实现图像矫正,python实现图像自动Gamma校正-SDK社区

本文介绍了Gamma校正的重要性,它用于调整图像亮度以达到更好的显示效果。文章提供了Python实现自动Gamma校正的代码,包括计算gamma值的公式以及利用OpenCV进行图像处理的步骤。此外,还分享了一个遍历文件夹并批量处理图像的例子。
摘要由CSDN通过智能技术生成

关于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.r

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值