【数字图像处理 】 灰度变换增强图像

本文详细介绍了图像处理中的三种增强方法:对数变换扩展低灰度区域并压缩高灰度,指数(伽玛)变换调整对比度,以及直方图均衡化使图像灰度分布均匀。通过计算和示例展示了这些技术的数学原理和Python实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

灰度变换增强图像

对数变换

对数变换的作用是对图像的低灰度范围进行扩展,并对高灰度范围进行压缩,得到的结
果图像灰度分布更均匀,其通用表达式为:

y = c log ⁡ 2 ( x + 1 ) y = c \log_2(x+1) y=clog2(x+1)

其中 c c c为自定义常数。


def log_transform(x, c):
    x = (x - x.min()) / (x.max() - x.min())
    y = c * np.log(1 + x)
    out = (y - y.min()) / (y.max() - y.min()) * 255
    return out.astype(np.uint8)

指数(伽玛)变换

指数(伽玛)变换的一般公式为:

y = c x γ y = c x^{\gamma} y=cxγ

γ < 1 \gamma < 1 γ<1 时,扩展图像暗区、压缩图像亮区。暗区对比度增强、亮区对比度减弱。 γ > 1 \gamma > 1 γ>1时,压缩图像暗区,扩展图像亮区。暗区对比度减弱,亮区对比度增强。

def gamma_transform(x, c, gamma):
    x = (x - x.min()) / (x.max() - x.min())
    y = c * np.power(x, gamma)
    dst = (y - y.min()) / (y.max()-y.min()) * 255
    return dst.astype(np.uint8)

直方图均衡化变换

设原始图像X和目标图像Y的灰度直方图分布为:
p x ( x k ) , k = 0 , 1 , ⋯   , N − 1 p y ( y k ) , k = 0 , 1 , ⋯   , N − 1 p_ {x} ( x_ {k} ),k=0,1, \cdots ,N-1 \\ p_ {y} ( y_ {k} ),k=0,1, \cdots ,N-1 px(xk),k=0,1,,N1py(yk),k=0,1,,N1

直方图均衡化映射函数 T ( ⋅ ) T(\cdot) T()为:

y k = T ( x k ) = int ( ( N − 1 ) ⋅ ∑ j = 0 k p x ( x j ) ) , k = 0 , 1 , ⋯   , N − 1 y_ {k} =T( x_ {k} )=\text{int}((N-1)\cdot\sum _ {j=0}^ {k} p_ {x} (x_j)),k=0,1, \cdots ,N-1 yk=T(xk)=int((N1)j=0kpx(xj)),k=0,1,,N1

第k个灰度值的从0到k的累积分布(0-1)乘以N-1,是整个图像的灰度值在0-N-1范围内均衡。

def equalize_hist(img, N=256):
    H, W = img.shape
    out = img.copy()
    sum_h = 0
    for i in range(0, 256):
        ind = np.where(img == i)
        sum_h += len(img[ind])
        p_x = sum_h / (H * W)
        out[ind] = (N-1)* p_x 
    out = out.astype(np.uint8) 
    return out

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二进制人工智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值