opencv用自适应直方图均衡化函数cv2.createCLAHE()提高对比度

本文主要是介绍opencv用自适应直方图均衡化函数cv2.createCLAHE()提高对比度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来自WeTab AI Pro

cv2.createCLAHE() 是 OpenCV 中的一个函数,用于创建 CLAHE(Contrast Limited Adaptive Histogram Equalization,对比度受限自适应直方图均衡化)对象。CLAHE 是一种增强图像局部对比度的技术,通过限制对比度来避免传统直方图均衡化所引入的噪声和过度增强。

以下是 cv2.createCLAHE() 的详细解释,以及如何使用它:

函数原型

cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))

参数说明

  1. clipLimit:

    • 类型:float
    • 说明:对比度限幅。从全局对比度的角度出发,对比度受限的程度。默认值为 2.0。当 clipLimit 设置为 0 或者负值时,表示没有对比度限制。较高的值会增加对比度,但可能导致噪声放大。
  2. tileGridSize:

    • 类型:tuple of two ints
    • 说明:每个小网格的大小,以像素为单位(行数,列数)。默认值为 (8, 8)。图像将被分为多个大小相同的网格块,CLAHE 算法分别对每个网格块进行直方图均衡化。

使用步骤

  1. 创建 CLAHE 对象。
  2. 应用 CLAHE 算法。

示例代码

以下示例代码展示了如何使用 cv2.createCLAHE() 对图像进行对比度增强处理:

import cv2# 读取灰度图像
image = cv2.imread('input.jpg', cv2.IMREAD_GRAYSCALE)# 创建 CLAHE 对象
clipLimit = 2.0
tileGridSize = (8, 8)
clahe = cv2.createCLAHE(clipLimit=clipLimit, tileGridSize=tileGridSize)# 对图像应用 CLAHE
enhanced_image = clahe.apply(image)# 显示结果
cv2.imshow("Original Image", image)
cv2.imshow("Enhanced Image", enhanced_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

代码解释

  1. 读取灰度图像

    image = cv2.imread('input.jpg', cv2.IMREAD_GRAYSCALE)
    

    加载需要处理的图像,并将其转换为灰度图像。

  2. 创建 CLAHE 对象

    clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
    

    创建一个 CLAHE 对象,指定对比度受限的参数和网格块大小。

  3. 应用 CLAHE

    enhanced_image = clahe.apply(image)
    

    将 CLAHE 应用于原始图像,生成一个对比度增强后的图像。

  4. 显示结果

    cv2.imshow("Original Image", image)
    cv2.imshow("Enhanced Image", enhanced_image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

通过上述步骤,你可以对图像的局部对比度进行增强,特别适用于反差较低的图像。在实际应用中,你可以调节 clipLimit 和 tileGridSize 参数,以达到最佳效果。

希望这能帮你更好地理解和使用 cv2.createCLAHE()。如果还有其他问题,欢迎继续提问!

这篇关于opencv用自适应直方图均衡化函数cv2.createCLAHE()提高对比度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

opencv 滚动条

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

android-opencv-jni

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

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

键盘快捷键:提高工作效率与电脑操作的利器

键盘快捷键:提高工作效率与电脑操作的利器 在数字化时代,键盘快捷键成为了提高工作效率和优化电脑操作的重要工具。无论是日常办公、图像编辑、编程开发,还是游戏娱乐,掌握键盘快捷键都能带来极大的便利。本文将详细介绍键盘快捷键的概念、重要性、以及在不同应用场景中的具体应用。 什么是键盘快捷键? 键盘快捷键,也称为热键或快捷键,是指通过按下键盘上的一组键来完成特定命令或操作的方式。这些快捷键通常涉及同

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

如何提高 GitHub 的下载速度

如何提高 GitHub 的下载速度 文章目录 如何提高 GitHub 的下载速度1. 注册账号2. 准备好链接3. 创建仓库4. 在码云上下载代码5. 仓库更新了怎么办 一般来说,国内的朋友从 GitHub 上面下载代码,速度最大是 20KB/s,这种龟速,谁能忍受呢? 本文介绍一种方法——利用“码云”,可以大大提高下载速度,亲测有效。 1. 注册账号 去“码云”注册一

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87