【OpenCV 例程300篇】49. 直方图处理之局部直方图处理(cv2.createCLAHE)
Opencv 处理 例程 局部 300 直方图 49 cv2
2023-09-14 09:12:49 时间
『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中图像伪彩色处理(C++ / Python)
- python-opencv 图像二值化,自适应阈值处理
- OpenCV每日函数 结构分析和形状描述符(4) findContours函数寻找轮廓
- Opencv学习笔记 Android下调用Opencv Sdk
- Opencv学习笔记 形态学重建(python)
- Opencv学习笔记 - 使用OpenCV,scikit-image和Python检测低对比度图像
- 编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件
- Py之cv2:cv2(OpenCV,opencv-python)库的简介、安装、使用方法(常见函数、图像基本运算等)最强详细攻略
- 成功解决cv2.error: OpenCV(4.1.2) C:projectsopencv-pythonopencvmodulesimgprocsrccolor.cpp:182: err
- 成功解决cv2.error: C:projectsopencv-pythonopencvmodulesimgprocsrcresize.cpp:4044: error: (-215) s
- Opencv图像处理:判断图片里某个颜色值占的比例
- OpenCV成长之路:视频的处理
- opencv 中文文档
- 在OpenCV里用drawMarker画标记符号
- 在OpenCV里使用镜像功能
- 【OpenCV 例程200篇】18. 图像的掩模加法(mask)
- 【youcans 的 OpenCV 例程200篇】166.自适应阈值处理
- 【youcans 的 OpenCV 例程200篇】156. 边缘连接局部处理的简化算法
- 在pycharm设置conda环境-import opencv-命令行import成功但pycharm import失败
- opencv-python视频处理之视频抖动特效
- opencv-python图片处理之哈哈镜
- Opencv 基本操作五 各种连通域处理方法
- Opencv 基本操作三 实现各个形态学处理并实现多图展示
- OpenCV-Python学习(22)—— OpenCV 视频读取与保存处理(cv.VideoCapture、cv.VideoWriter)
- 【OpenCV】Chapter3.图像的仿射变换
- Ubuntu安装ffmpeg音视频处理工具:联合解决cuda11+opencv4.6编译bug的问题(cap_ffmpeg_impl/opencv_videoioopencv_cuda*)
- jetson Nano 调试 CSI 接口的摄像头,并用 opencv 打开摄像头