前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数字图像处理灰度变换之对数变换、伽马变换及python实现

数字图像处理灰度变换之对数变换、伽马变换及python实现

作者头像
Minerva
发布2020-05-25 16:45:41
5.6K0
发布2020-05-25 16:45:41
举报

对数变换

对数变换的通用公式是: s=c log(1+r);

其中,c是一个常数,对数变换,将源图像中范围较窄的低灰度值映射到范围较宽的灰度区间,同时将范围较宽的高灰度值区间映射为较窄的灰度区间,从而扩展了暗像素的值,压缩了高灰度的值,能够对图像中低灰度细节进行增强。 对数变换曲线如下图。

下面的代码实现了图像灰度的对数变换。

代码语言:javascript
复制
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import cv2
#对数变换
def log(c, img):
    output = c * np.log(1.0 + img)
    output = np.uint8(output + 0.5)
    return output
#读取原始图像
img = cv2.imread('test.png')
#图像灰度对数变换
output = log(42, img)
#显示图像
cv2.imshow('Input', img)
cv2.imshow('Output', output)
cv2.waitKey(0)
cv2.destroyAllWindows()

对数变换对于整体对比度偏低并且灰度值偏低的图像增强效果较好。

幂律变换(伽马变换)

伽马变换主要用于图像的校正,对灰度值过高(图像过亮)或者过低(图像过暗)的图像进行修正,增加图像的对比度,从而改善图像的显示效果。伽马变换的公式为: s= caⁿ

其中c和n为正常数。 伽马变换的效果与对数变换有点类似,但是,情况相反,与反对数变换类似。其函数曲线如下

当伽马大于1拉伸高像素值的范围压缩灰度级较低的部分,当伽马小于1拉伸低像素值的范围压缩灰度级较高的部分。哪部分的斜率越大,哪部分的拉伸比例就越大。当n=1时,该灰度变换是线性的,此时通过线性方式改变原图像。 Python实现图像灰度的伽玛变换代码如下,主要调用幂函数实现。

代码语言:javascript
复制
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import cv2
#伽玛变换
def gamma(img, c, v):
    lut = np.zeros(256, dtype=np.float32)
    for i in range(256):
        lut[i] = c * i ** v
    output_img = cv2.LUT(img, lut) #像素灰度值的映射
    output_img = np.uint8(output_img+0.5)  
    return output_img

#读取原始图像
img = cv2.imread('test.png')

#图像灰度伽玛变换
output = gamma(img, 0.00000005, 4.0)

#显示图像
cv2.imshow('Imput', img)
cv2.imshow('Output', output)
cv2.waitKey(0)
cv2.destroyAllWindows()
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python编程和深度学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 对数变换
  • 幂律变换(伽马变换)
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档