伽马矫正是一种借助了指数变换映射的增强技术。伽马矫正的映射函数可表示为:d = T(s)= csY ,其中c和y为常数。y的值是控制变换效果的主要因素,所以被称之为伽马矫正。
如右图所示:

·当y 之1时,输入的低灰度范围被压缩,
高灰度范围被拉伸,实现了强化亮部,压缩暗部的图像增强效果;
·当y >1时,输入的高灰度范围被压缩,
·低灰度范围被拉伸,实现了强化暗部,压缩亮部的图像增强效果;
gama,pY

代码实现

import numpy as np
import cv2def gama_trans(img, gamma):# 先归一化处理,再做伽马计算,再还原到[0,255]gmma_list = [np.power(x / 255.0, gamma) * 255.0 for x in range(256)]# 将列表换成nparray,换成无符号8为数gamma_table = np.round(np.array(gmma_list)).astype(np.uint8)return cv2.LUT(img, gamma_table)# 定义matshow方法
def matshow(title='image', image=None, gray=False):if isinstance(image, np.ndarray):if len(image.shape) == 2:passelif gray:# 转换成GRAY格式image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)else:# 图片默认BGR通道,将突破转换成RGBimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# 使用这种方式显示图片可能会导致图片显示畸形# cv2.imshow('image', image)plt.figure()# 载入图像plt.imshow(image, cmap="gray")# 设置标题plt.title(title)plt.show()if __name__ == '__main__':im = cv2.imread('data/lena.jpg', 0)matshow('im', im)# 使用小于1的伽马值im = gama_trans(im, 0.5)matshow('im0.5', im)# 使用大于1的伽马值im = gama_trans(im, 3)matshow('im3', im)

实现效果

Python实现伽马矫正相关推荐

  1. 伽马矫正(Gamma correction)

    在学习HOG描述子时,对图像进行预处理中使用了伽马矫正这个方法,这里对伽马矫正进行简要的介绍. 伽马矫正也称幂律变换,一般用于平滑的扩展暗调的细节.进行伽马矫正的原因是因为人类的眼睛在感知光线时,眼睛 ...

  2. OpenCV4.3 Java 编程入门:图片的亮度、对比度、及伽马矫正

    文章目录 1 计算公式 2 对比度.亮度矫正 3 伽马矫正 图像亮度和对比度的调整操作,属于图像处理中比较简单的一种--点像素操作! 1 计算公式 点操作仅仅根据输入像素值,结合配置参数,来计算相应的 ...

  3. 图形渲染——伽马矫正

    这个话题一直是我的一个困扰,因为我看了Unity Shader的讲解,总感觉作者是不是把问题搞反了,前后叙述是矛盾的.后来经过反复查看,可以肯定作者是对的,但是因为表述不清楚或者太啰嗦,把一些重点给掩 ...

  4. python求伽马分布模型参数_Python实现的各种常见分布算法示例

    本文实例讲述了Python实现的各种常见分布算法.分享给大家供大家参考,具体如下: #-*- encoding:utf-8 -*- import numpy as np from scipy impo ...

  5. OpenCV论道:为什么我的伽马校正函数只有一行?

    最近在用 OpenCV 识别棋盘棋子,基本的思路是这样的:先转灰度,再做高斯模糊和二值化,此时棋盘格上有的有棋子,有的无棋子:通过迭代腐蚀,消去棋子,再迭代膨胀回来,就得到了一个纯净的棋盘:识别棋盘, ...

  6. 伽马校正(gamma correction)学习笔记

    学习HDR和Bloom特效的过程中,接触到了伽马矫正的问题.查阅了不少资料,这一篇讲的最清楚,下面的图片也是来自该文章. 这应该说是一个历史遗留问题,以前的CRT显示器是使用电子显像管,通过控制电流大 ...

  7. 【TA100】图形 2.6伽马(Gamma)校正

    很好的视频 https://www.bilibili.com/video/BV15t411Y7cf/?spm_id_from=333.788.b_636f6d6d656e74.96&vd_so ...

  8. python 视频 灰度 伽玛_Python 图像处理实战 | 图像的灰度非线性变换之对数变换、伽马变换...

    作者 | 杨秀璋 来源 | CSDN博客 责编 | 夕颜 头图 | 付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包 ...

  9. [Python图像处理] 十六.图像的灰度非线性变换之对数变换、伽马变换

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  10. python怎么用gamma函数_如何通俗的理解伽马(gamma)函数

    如何通俗的理解伽马(gamma)函数 - 直觉,求导和示例 我为什么要在乎garmma分布? 使用伽马函数定义了许多概率分布,例如伽马分布,Beta分布,狄利克雷分布,卡方分布和学生t分布等. 对于数 ...

最新文章

  1. maven多项目打包报错---子模块相互依赖打包时所遇到的问题:依赖的程序包找不到 package xxx does not exist
  2. AI2:预计2030年中国AI研究或领跑全球
  3. 动态规划备忘录方法Java_动态规划和备忘录法的区别
  4. 项目推进计划表_项目为啥延期之一:计划问题
  5. 【渝粤教育】21秋期末考试管理学原理★10013k1
  6. VMware12序列号
  7. lol大脚一直卡在读取服务器信息,英雄联盟大脚 - 英雄联盟 - LOL英雄联盟官网 - 英雄联盟攻略 - 英雄联盟专题站...
  8. python计算目标文件夹中各文件的GC含量
  9. 笔记本wifi共享出来能够连接但是没有网速
  10. No module named libs.resources
  11. 拉开差距的面试题:如何设计一个电商平台积分兑换系统??
  12. Spring Cloud Gateway Session
  13. 从200K/s到2M/s,只差这篇文章——使用ProxyeeDown加速百度云盘下载速度
  14. 【微信每日早安推送】每日天气推送
  15. jquery 前端实现图片压缩和上传
  16. signal 11 定位
  17. HDU 4508 湫湫系列故事――减肥记I
  18. Java实现印刷体转手写体—妈妈再也不用担心我被罚抄作业了
  19. wifi密码公式计算机,这个WIFI密码,你计算出来了么?
  20. 硬盘零磁道损坏的处理方法

热门文章

  1. 波束赋形beamforming
  2. 什么是视频网站CDN呢?视频网站使用了视频CDN有什么优势?
  3. 小米禁止android系统联网,解决MIUI下新安装应用无法联网的问题
  4. 木耳炒什么好吃 木耳的做法
  5. html可以用搜狗浏览器打开网页,搜狗浏览器网页不小心关了怎么办?搜狗浏览器恢复页面三种方法...
  6. 搜狗浏览器怎么清除浏览记录 搜狗浏览器清除浏览记录教程
  7. 撼龙图怎么开鸿蒙炁灵,《一人之下》藏金图怎么玩 撼龙藏金图高概率出绝世炁灵技巧...
  8. dvi一分四_【1进4出DVI分配器】
  9. Ionic之自定义icon大小
  10. 西门子PLC怎么调试?