首页 > 其他分享 >Opencv中的直方图均衡

Opencv中的直方图均衡

时间:2024-07-10 13:27:53浏览次数:18  
标签:均衡化 cv2 equalizeHist Opencv 直方图 均衡 图像 对比度

cv2.equalizeHist()

cv2.equalizeHist() 是 OpenCV中的一个函数,用于图像的直方图均衡化。直方图均衡化是一种改善图像对比度的方法,特别是当图像的背景和前景都太亮或太暗时,这种方法非常有用。它通过扩展图像的直方图来有效地增加图像的全局对比度,特别是当图像的有用数据的对比度相当接近时。

dst = cv2.equalizeHist(src[, dst])
  • src: 输入图像,必须是 8 位的单通道图像。
  • dst: 输出图像,与输入图像具有相同的尺寸和类型。

cv2.createCLAHE()

CLAHE 是直方图均衡化的一种改进版本,它通过限制对比度放大的程度来避免过度放大噪声。用于显示跟细节的内容。

# 创建CLAHE对象  
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))  
  
# 应用CLAHE  
cl_img = clahe.apply(img) 
  • clipLimit:对比度限制。这个参数用于控制对比度放大的程度。较高的值允许更高的对比度,但可能会引入更多的噪声。通常是 2.0。
  • tileGridSize:用于直方图均衡化的网格大小(以像素为单位)。这个参数定义了图像被分割成多少个矩形块,每个块独立进行直方图均衡化。较大的块尺寸可以减少处理时间,但可能会导致均衡化效果在图像中的局部区域不够精细。默认值通常是 (8, 8)。

标签:均衡化,cv2,equalizeHist,Opencv,直方图,均衡,图像,对比度
From: https://blog.csdn.net/qq_42591591/article/details/140278779

相关文章

  • 多条宽带负载均衡是一种常见的网络优化技术,通常用于增加网络带宽、提高网络性能和可靠
    多条宽带负载均衡是一种常见的网络优化技术,通常用于增加网络带宽、提高网络性能和可靠性。在实现多条宽带负载均衡时,可以考虑以下几种方法:路由器级别的负载均衡:智能路由器:某些商业路由器支持多个WAN口,并能够智能地根据网络流量来分配数据到不同的宽带线路上,实现负载均衡。......
  • opencv读取视频文件夹内视频的名字_时长_帧率_分辨率写入excel-cnblog
    看视频的时候有的视频文件名贼长。想要翻看,在文件夹里根本显示不出来,缩短又会丢失一些信息,所以我写了一份Python代码,直接获取视频的名字,时长,帧率,还有分辨率写到excel里。实际效果如下图。可以看到需要的大致信息都被提取出来了接下来直接上代码importosimportxlsxwr......
  • Nginx+Tomcat负载均衡、动静分离群集
    一:tomcat安装(在192.168.10.102和192.168.10.103)1:关闭防火墙[root@localhost~]#systemctlstopfirewalld[root@localhost~]#setenforce02:安装java环境[root@localhost~]#yum-yinstalljava[root@localhost~]#java-version3:安装tomcat[root@localhos......
  • 案列:Nginx+Tomcat负载均衡、动静分离群集
    一、案列:部署Tomcat(在192.168.10.102和192.168.10.103)1.关闭防火墙[root@localhost~]#systemctlstopfirewalld[root@localhost~]#setenforce02.安装java环境[root@localhost~]#yum-yinstalljava[root@localhost~]#java-version3.安装tomcat[root@localh......
  • Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时
    章节内容上一节我们完成了:HiveServer2的介绍和配置安装修改core-sizehdfs-site实现集群的启动Beeline简单上手HCatalog简单上手背景介绍这里是三台公网云服务器,每台2C4G,搭建一个Hadoop的学习环境,供我学习。之前已经在VM虚拟机上搭建过一次,但是没留下笔记,这次......
  • 基于opencv + GPU cuda的光流算法demo
    该demo来自learnopencv.com网站,是作为opencvcuda模块的启蒙示例。看来这是一个简单的例子,但是由于从未接触过opencvcuda图像处理,我个人仍感觉比较新颖和有趣,特别是运行效果很惊奇,这里和大家一起学习解读以下。想看一手内容可以在网络直接搜索GettingStartedWithOpencvcuda......
  • Python OpenCv对规则物体进行实时检测
    前言很多情况需要对物体进行检测,常规的方法也有很多种。但是检测出来的边缘一般都是非常多,结果也是非常杂乱的,显然这种结果不是我们想要的。如果颜色相较于背景非常鲜艳的可以调节hsv阈值再进行检测,如果是一直在运动的物体可以通过帧差法进行物体检测,还有很多高深的算法也可以进......
  • Linux系统配置Opencv+cuda+ffmpeg开发环境,-217:Gpu API call unknown error code问题
    Opencv是当前比较热门的图像处理开源算法库,但是随着深度学习在图像存储里领域的大放异彩,基于python的图像处理和深度学习算法大有超越opencv的趋势。opencv在最近的版本更新中,重点都放在了人工智能算法方面,本文介绍linux环境下配置支持GPU/cuda的ffmpeg和opencv开发环境,并将其中遇......
  • OpenCV GPU解码简单例子
    基于GPU/cuda的运算能够极大解放CPU的负担,特别是针对复杂图像处理的场景中。该例子主要展示利用GPU的硬解码模块,对本地和网络视频流进行解码和本地显示。环境如下,ubuntu20.04+opencv4.10.0+cuda12.5.代码逻辑比较简单,不涉及复杂逻辑和算法,直接看代码。GPU解码本地视频并进行显......
  • opencv环境搭建-python
    最近遇到了一些图像处理的需求,所以需要学习一下opencv,来记录一下我的学习历程。安装numpypipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplenumpy安装matplotlibpipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplematplotlib安装opencvpipin......