【OpenCV 例程300篇】49. 直方图处理之局部直方图处理(cv2.createCLAHE)

2023-10-22 10:59

本文主要是介绍【OpenCV 例程300篇】49. 直方图处理之局部直方图处理(cv2.createCLAHE),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

『youcans 的 OpenCV 例程300篇 - 总目录』


【youcans 的 OpenCV 例程300篇】49. 直方图处理之局部直方图处理(cv2.createCLAHE)


图像直方图是反映图像像素分布的统计表。 灰度直方图是图像灰度级的函数,用来描述每个灰度级在图像矩阵中的像素个数。

直方图均衡和直方图匹配都是基于整幅图像的灰度分布进行全局变换,并非针对图像局部区域的细节进行增强。

直方图处理对于局部同样适用,局部直方图处理的思想是基于像素邻域的灰度分布进行直方图变换处理。

局部直方图处理的过程是:

(1)设定某一大小的模板(矩形邻域),在图像中沿逐个像素移动;

(2)对每个像素位置,计算模板区域的直方图,对该局部区域进行直方图均衡或直方图匹配变换,变换结果只用于模板区域中心像素点的灰度值修正;

(3)模板(邻域)在图像中逐行逐列移动,遍历所有像素点,完成对整幅图像的局部直方图处理。

OpenCV 提供了类 cv2. createCLAHE 用于创建自适应均衡化的对象和方法,可以实现局部直方图处理。

函数说明:

cv2.createCLAHE([, clipLimit[, tileGridSize]]) → retval

参数说明:

  • clipLimit:颜色对比度的阈值,可选项,默认值 8
  • titleGridSize:局部直方图均衡化的模板(邻域)大小,可选项,默认值 (8,8)

cv2. createCLAHE 是一种限制对比度自适应直方图均衡化方法(Contrast Limited Adaptive Hitogram Equalization),采用了限制直方图分布的方法和加速的插值方法。


基本例程:1.61 自适应的局部直方图均衡

    # 1.61 局部直方图均衡化img = cv2.imread("../images/FigClahe.jpg", flags=0)  # flags=0 读取为灰度图像imgEqu = cv2.equalizeHist(img)  # 全局直方图均衡化clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(4,4))  # 创建 CLAHE 对象imgLocalEqu = clahe.apply(img)  # 自适应的局部直方图均衡化plt.figure(figsize=(9, 6))plt.subplot(131), plt.title('Original'), plt.axis('off')plt.imshow(img, cmap='gray', vmin=0, vmax=255)plt.subplot(132), plt.title(f'Global Equalize Hist'), plt.axis('off')plt.imshow(imgEqu, cmap='gray', vmin=0, vmax=255)plt.subplot(133), plt.title(f'Local Equalize Hist'), plt.axis('off')plt.imshow(imgLocalEqu, cmap='gray', vmin=0, vmax=255)plt.tight_layout()plt.show()

在这里插入图片描述


(本节完)


版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/125112487)
Copyright 2022 youcans, XUPT
Crated:2021-11-18

这篇关于【OpenCV 例程300篇】49. 直方图处理之局部直方图处理(cv2.createCLAHE)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/261003

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

opencv 滚动条

参数介绍:createTrackbar( trackbarname , "hello" , &alpha_slider ,alpha_max ,  on_trackbar )  ;在标签中显示的文字(提示滑动条的用途) TrackbarName创建的滑动条要放置窗体的名字 “hello”滑动条的取值范围从 0 到 alpha_max (最小值只能为 zero).滑动后的值存放在

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存

Thymeleaf:生成静态文件及异常处理java.lang.NoClassDefFoundError: ognl/PropertyAccessor

我们需要引入包: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>sp

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使用了由[90]描述的第一个算法。开发者应该注意,由于数据点靠近包含的 Mat 元素的边界,返回的椭圆/旋转矩形数据

树莓派5_opencv笔记27:Opencv录制视频(无声音)

今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi)  本人所用树莓派5 装载的系统与版本如下:  版本可用命令 (lsb_release -a) 查询: Opencv 与 python 版本如下: 今天就水一篇文章,用树莓派摄像头,Opencv录制一段视频保存在指定目录... 文章提供测试代码讲解,整体代码贴出、测试效果图 目录 阶段一:录制一段