图像增强及滤波

图像增强及滤波

原创2022-06-12 00:52·爱阅读

图像增强主要是通过对图像进行处理,来突出感兴趣区域或抑制低兴趣区域信息的方法,也就是尽可能多的呈现“有用”信息、压缩其他“无用”信息。一般来说,通过图像增强可以改善图像的视觉呈现效果,并有利于计算机进行后续处理。例如下面这张夜景图片,图像灰度范围很小,视觉呈现灰暗,也看不到一些细节线性,整体视觉体验比较差,那么可以尝试通过图像增强算法改善图像呈现效果。

  1. 灰度变换。

(1)线性变换:

y = ax + b, 我们试一下a = 2, a = 3 和 b = 0 和 b = 50情况下的直方图,可以发现,b相同时,a 越大灰度范围越大,图像对比度也越明显,同时看到的信息也相对更多;当a固定,b越大图像越亮。

直方图

线性变换效果

我们发现整体进行灰度变换时,图像整体灰度变换范围还是很窄,那是不是在不同的灰度范围给与不同的 线性变换会好一些呢?

(2)分段线性变换

线性变换参数调整非常繁琐,可以尝试直方图标准化。

(3)直方图标准化(线性变换)

我们可以看到整体而言,灰度在0~255是不均衡分布的,我们再看看直方图均衡化效果:

均衡化虽然大幅提高了动态范围,使得图像整体对比度增加了,但是出现了明显的亮点而失真,另外,对于直方图的高峰时,拉伸后将出现对比度不自然的过分增强现象。因此,我们期望对局部进行增强,即自适应直方图均衡化。

从3种直方图的效果来看,还是自适应均衡化效果最好,但相对耗时明显。

(4)gamma变换:指数变换,G主要是用来图像增强、提升了暗部细节,从而让图像从曝光强度的线性响应变得更接近人眼感受。


def gamma(gray_img, r = 1):
    img = gray_img / 255.0
    img = np.power(img, r)
    img = img * 255
    
    return img.astype(np.uint8)

g1 = gamma(gray1, 0.4)
g2 = gamma(gray1, 0.6)
g3 = gamma(gray1, 0.8)
g4 = gamma(gray1, 1.2)
g5 = gamma(gray1, 1.4)


plt.figure(figsize=(15,8))
plt.subplot(231), plt.imshow(gray1, "gray"),plt.title("原图")
plt.subplot(232), plt.imshow(g1, "gray"),plt.title("r = 0.4")
plt.subplot(233), plt.imshow(g2, "gray"),plt.title("r = 0.6")
plt.subplot(234), plt.imshow(g3, "gray"),plt.title("r = 0.8")
plt.subplot(235), plt.imshow(g4, "gray"),plt.title("r = 1.2")
plt.subplot(236), plt.imshow(g5, "gray"),plt.title("r = 1.4")
plt.show()

今天就分享到这里, 我是paperClub。

备注:WeiXin 搜索paperClub, 添加关注并回复【paperClub】即可获取使用方法。 

1. 感谢各位小伙伴的关注, 您的点赞、鼓励和留言,都是我深夜坚持的一份动力,无论褒贬,都是我们行进途中最好的回馈,也都会被认真对待。

2. 我将持续分享各类、好玩且有趣的算法应用及工程和项目,欢迎分享和转发。沟通、学习和交流,请与我联系,虽然平时忙,但留言必回,勿急,感谢理解!

3. 分享内容包括开源项目和自研项目,如在引用或使用时,考虑不周、遗漏引用信息或涉及版权等,请您及时联系。如果您对某些内容感兴趣,我们可以一起讨论、交流和学习。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值