图像的对数变换

对数变换在图像处理中通常有以下作用:

  1. 因为对数曲线在像素值较低的区域斜率较大,像素值较高的区域斜率比较低,所以图像经过对数变换之后,在较暗的区域对比度将得到提升,因而能增强图像暗部的细节。
  2. 图像的傅里叶频谱其动态范围可能宽达0~10^6。直接显示频谱的话显示设备的动态范围往往不能满足要求,这个时候就需要使用对数变换,使得傅里叶频谱的动态范围被合理地非线性压缩。

本节中所使用的样图如下:

首先导入所需的程序包:

In [ ]:

import numpy as np

import matplotlib.pyplot as plt

import cv2

定义对数变化函数:

In [ ]:

def log(c, img):

    output = c * np.log(1.0 + img)

    output = np.uint8(output + 0.5)

    return output

读取原始图像:

In [ ]:

img = cv2.imread('./street.jpg')

img2 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

plt.imshow(img2)

plt.show()

对图像进行对数变换:

In [ ]:

output = log(42, img)

显示结果图像:

In [ ]:

output2 = cv2.cvtColor(output, cv2.COLOR_BGR2RGB)

plt.imshow(output2)

plt.show()

可以观察到,对数变换效果非常明显,且对于整体对比度偏低并且灰度值偏低的图像增强效果较好。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值