自适应的直方图均衡化

整幅图像会被分成很多小块,这些小块被称为“tiles”。然后再对每一个小块分别进行直方图均衡化。如果有噪声的话,噪声会被放大。为了避免这种情况的出现要使用对比度限制。对于每个小块来说,如果直方图中的 bin 超过对比度的上限的话,就把 其中的像素点均匀分散到其他 bins 中,然后在进行直方图均衡化。

cv.createCLAHE(clipLimit, tileGridSize)
  • clipLimit: 对比度限制,默认是40
  • tileGridSize: 分块的大小,在 OpenCV 中 tiles 的 大小默认为8 * 8

将整幅图像分成很多小块,然后再对每一个小块分别进行直方图均衡化,最后进行拼接。

import cv2 as cv
from matplotlib import pyplot as plt# 1. 以灰度图形式读取图像
img1 = cv.imread('./1.png', 0)
img2 = cv.imread('./2.png', 0)# 2. 创建一个自适应均衡化的对象,并应用于图像
clahe = cv.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
cl1 = clahe.apply(img1)clahe2 = cv.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
cl2 = clahe.apply(img2)# 3. 图像展示
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 8), dpi=100)
axes[0, 0].imshow(img1, cmap=plt.cm.gray)
axes[0, 0].set_title("原图")
axes[0, 1].imshow(cl1, cmap=plt.cm.gray)
axes[0, 1].set_title("自适应均衡化后的结果")
axes[1, 0].imshow(img2, cmap=plt.cm.gray)
axes[1, 0].set_title("原图")
axes[1, 1].imshow(cl2, cmap=plt.cm.gray)
axes[1, 1].set_title("自适应均衡化后的结果")
plt.show()

OpenCV 自适应的直方图均衡化相关推荐

  1. opencv曝光过度_直方图均衡化

    直方图均衡化 想象一下,如果一副图像中的大多是像素点的像素值都集中在一个像素值范围之内会怎样呢?例如,如果一幅图片整体很亮,那所有的像素值应该都会很高.但是一副高质量的图像的像素值分布应该很广泛.所以 ...

  2. python opencv 直方图均衡_Python+OpenCV:全局直方图均衡化、局部直方图自适应均衡化、直方图比较(Python版)...

    1. 全局直方图均衡化 cv2.equalizeHist(src, dst=None)函数只能处理单通道的数据,src为输入图像对象矩阵,必须为单通道的uint8类型的矩阵数据.直方图均衡化可以看作是 ...

  3. 【opencv】20.直方图均衡化的数学原理

    本文只讲数字图像处理,即离散化后的公式,至于积分形式的分析,网上很多. 具体的数学推导可以参考这篇博客直方图均衡化. 如果想自己代码实现直方图均衡化,相关源代码可以参考(不使用api)使用C++实现彩 ...

  4. Opencv——灰度变换、直方图均衡化

    1.代码如下: #include "stdafx.h" #include <opencv2/opencv.hpp>using namespace cv;int main ...

  5. opencv查找表值直方图均衡化

    原文:http://lib.csdn.net/article/opencv/28586 #include <opencv2/opencv.hpp> using namespace cv; ...

  6. OpenCv:直方图均衡化(HE),自适应直方图均衡化(AHE),限制对比度自适应直方图均衡化(CLAHE)

    总结了使用Python OpenCv处理图像直方图均衡化(HE),自适应直方图均衡化(AHE),限制对比度自适应直方图均衡化(CLAHE)的方法. 目录 直方图均衡化(HE) 自适应直方图均衡化(AH ...

  7. OpenCV基础(16)OpenCV直方图均衡化和自适应直方图均衡化(CLAHE)

    在本教程中,您将学习使用OpenCV实现直方图均衡化和自适应直方图均衡化(CLAHE). 直方图均衡化是一种基本的图像处理技术,通过更新图像直方图的像素强度分布来调整图像的全局对比度.这样做可以使低对 ...

  8. python opencv 直方图均衡_详解python OpenCV学习笔记之直方图均衡化

    本文介绍了python OpenCV学习笔记之直方图均衡化,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/d5/daf/tutorial_py_hi ...

  9. OpenCV--Python 图像增强(线性变换,直方图正规化,伽马变换,全局直方图均衡化,限制对比度的自适应直方图均衡化)

    图像增强主要解决由于图像的灰度级范围较小造成的对比度较低的问题,目的就是将输出图像的灰度级放大到指定的程度,使得图像中的细节看起来增加清晰.对比度增强有几种常用的方法,如线性变换.分段线性变换.伽马变 ...

最新文章

  1. linux 鬼精灵漏洞,鬼精灵Grinch:比Bash破壳(shellshock)更严重的Linux漏洞
  2. javascript构造函数继承
  3. 41、OrthoMCL和mcl软件进行基因家族分析
  4. Spring 4 MVC 单元测试例子
  5. 谈判学:三招了解对方底线
  6. 数据挖掘--挖掘建模-时序模式-ARIMA模型
  7. 网站如何和服务器匹配,匹配服务器
  8. 模式窗口(Modal Dialog) 导致 Session丢失的解决办法
  9. linux对web后端重要吗,基于Linux的Web服务器性能测试
  10. 武装你的小程序——开发流程指南
  11. oracle kill所有plsql developer进程
  12. 计算机网络图标显示不出来,网络图标不见了汇总解决教程
  13. Tesseract OCR iOS 教程
  14. vscode unins000.exe报错
  15. android root大师,安卓Root成难题?ROOT大师帮你一键Root
  16. 软件测试行业用mac好还是win好,为了在Mac上也能用好Windows,我做了这些调整
  17. 配置gitLab的邮件服务,并开启邮箱的验证通知功能
  18. 以太坊社区开发者大会(EDCON 2020)精彩回顾
  19. shell 判断字符串长度
  20. python视频教程410集免费_Python Web开发—进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程...

热门文章

  1. Arch Linux 安装记(安装到移动硬盘)
  2. Dev的关于XtraGrid的使用2
  3. 不要说自己没什么兴趣,也不要说自己兴趣很广泛,最好能具体到哪个方面,顺便提一下你最近看的一本该方面的书,有什么收获(转)...
  4. WinForm 异步调用方法
  5. 接收到开始本地截图的命令:videoshot.exe 解决方法
  6. RIPv2 路由手工汇总
  7. PendingIntent详解
  8. CSS的三种使用方式
  9. OSGI框架的功能和设计思
  10. 算法经典书籍--算法设计与分析基础