c++ 绘制函数图像_【图像增强】CLAHE 限制对比度自适应直方图均衡化

文章来自:微信公众号【机器学习炼丹术】。

文章目录:

  • 1 基本概述
  • 2 竞赛中的CLAHE实现
  • 3 openCV绘制直方图
  • 4 对比度Contrast
  • 5 Contrast Stretching
  • 6 Histogram Equalization
  • 7 CLAHE
    • 7.1 Contrast Limited HE
    • 7.2 Adaptive HE
  • 8 结果对比与openCV实现

1 基本概述

CLAHE是一个比较有意思的图像增强的方法,主要用在医学图像上面。之前的比赛中,用到了这个,但是对其算法原理不甚了解。在这里做一个复盘。

CLAHE起到的作用简单来说就是增强图像的对比度的同时可以抑制噪声

CLAHE的英文是Contrast Limited Adaptive Histogram Equalization 限制对比度的自适应直方图均衡。在学习这个之前,我们要先学习一下下面的前置算法:

  1. 【Contrast Stretching】:对比度拉伸;
  2. 【HE】:直方图均衡;
  3. 【CLHE】:对比度限制的HE
  4. 【AHE】:自适应直方图均衡化

2 竞赛中的CLAHE实现

在比赛中,我们往往使用albumentations库函数进行图像的预处理,因为这个预处理库的运行速度非常的快,而且封装了大量的图像增强的方法。图像任务的话这个库函数非常滴奈斯。

本文中会介绍一下albumentations库函数实现CLAHE的代码,然后再用openCV实现。

import albumentations
RESIZE_SIZE = 1024 # or 768
train_transform = albumentations.Compose([
        albumentations.Resize(RESIZE_SIZE, RESIZE_SIZE),
        albumentations.OneOf([
            albumentations.RandomGamma(gamma_limit=(60, 120), p=0.9),
            albumentations.RandomBrightnessContrast(brightness_limit=0.2, contrast_limit=0.2, p=0.9),
            albumentations.CLAHE(clip_limit=4.0, tile_grid_size=(4, 4), p=0.9),
        ]),
        albumentations.HorizontalFlip(p=0.5),
        albumentations.ShiftScaleRotate(shift_limit=0.2, scale_limit=0.2, rotate_limit=20,
                                        interpolation=cv2.INTER_LINEAR, border_mode=cv2.BORDER_CONSTANT, p=1),
        albumentations.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225), max_pixel_value=255.0, p=1.0)
    ])

这是一个图像增强的pipline,其中的流程是:

  • Resize就是拉伸图片修改尺寸
  • RandomGamma就是使用gamma变换
  • RandomBrightnessContrast就是随机选择图片的对比度和亮度
  • CLAHE是一种对比度受限情况下的自适应直方图均衡化算法
  • HorizontalFlip水平翻转
  • ShiftScaleRotate这个就是平移缩放旋转三合一,给力!
  • Normalize这个就是图像归一化了。

本文主要讲解的就是CLAHE这个直方图均衡化的算法。

3 openCV绘制直方图

使用openCV的

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值