Python图像增强之直方图均衡化(全局直方图均衡、局部直方图均衡)

这篇具有很好参考价值的文章主要介绍了Python图像增强之直方图均衡化(全局直方图均衡、局部直方图均衡)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 图像增强概述

图像增强是有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

图像增强通常划分如图所示的分类

python直方图均衡化,Python,图像处理,图像处理,python,opencv,计算机视觉

直方图均衡化概述

   直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。

  • 全局直方图均衡

 该方法主要优点是算法简单、速度块、可自动曾倩图像;缺点是对噪声敏感、细节信息容易丢失,在某些结果区域产生过增强的问题。

  • 局部直方图均衡

   该方法优点是局部自适应,可最大限度的增强图像细节;缺点是增强图像质量操控困难,会随之引入噪声。

代码实现

全局直方图均衡化

#encoding:utf-8
import cv2  
import numpy as np  
import matplotlib.pyplot as plt
 
#读取图片
img = cv2.imread('1.bmp',cv2.IMREAD_GRAYSCALE)

#灰度转换
gray = img #cv2.cvtColor(img,cv2.COLOR_GRAY2RGB)
 
#直方图均衡化处理
result = cv2.equalizeHist(gray)

#显示图像
fig = plt.figure(figsize=(10, 10))#设置大小
plt.subplot(221)
plt.imshow(gray, cmap=plt.cm.gray, vmin=0, vmax=255), plt.axis("off"), plt.title('(a)') 
plt.subplot(222)
plt.imshow(result, cmap=plt.cm.gray, vmin=0, vmax=255), plt.axis("off"), plt.title('(b)') 
plt.subplot(223)
plt.hist(img.ravel(), 256), plt.title('(c)') 
plt.subplot(224)
plt.hist(result.ravel(), 256), plt.title('(d)') 
plt.show()
fig.savefig('fig-equal.jpg',bbox_inches='tight')

局部直方图均衡化

#encoding:utf-8
import cv2  
import numpy as np  
import matplotlib.pyplot as plt
 
#读取图片
img = cv2.imread('E:/python/CSDN/image/image_process/1.bmp',cv2.IMREAD_GRAYSCALE)

#灰度转换
gray = img #cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 
#局部直方图均衡化处理
clahe = cv2.createCLAHE(clipLimit=2, tileGridSize=(10,10))

#将灰度图像和局部直方图相关联, 把直方图均衡化应用到灰度图 
result = clahe.apply(gray)

#显示图像
fig = plt.figure(figsize=(10, 10))#设置大小
plt.subplot(221)
plt.imshow(gray, cmap=plt.cm.gray, vmin=0, vmax=255), plt.axis("off"), plt.title('(a)') 
plt.subplot(222)
plt.imshow(result, cmap=plt.cm.gray, vmin=0, vmax=255), plt.axis("off"), plt.title('(b)') 
plt.subplot(223)
plt.hist(img.ravel(), 256), plt.title('(c)') 
plt.subplot(224)
plt.hist(result.ravel(), 256), plt.title('(d)') 
plt.show()
fig.savefig('E:/python/CSDN/image/image_process/fig-clahe.jpg',bbox_inches='tight')

效果展示

全局直方图均衡化

python直方图均衡化,Python,图像处理,图像处理,python,opencv,计算机视觉

 

局部直方图均衡化

python直方图均衡化,Python,图像处理,图像处理,python,opencv,计算机视觉

 

CSDN话题挑战赛第2期
参赛话题:学习笔记文章来源地址https://www.toymoban.com/news/detail-649566.html

到了这里,关于Python图像增强之直方图均衡化(全局直方图均衡、局部直方图均衡)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • python数字图像处理基础(七)——直方图均衡化、傅里叶变换

    python数字图像处理基础(七)——直方图均衡化、傅里叶变换

    均衡化原理 图像均衡化是一种基本的图像处理技术,通过更新图像直方图的像素强度分布来调整图像的全局对比度。这样做可以使低对比度的区域在输出图像中获得更高的对比度。 简单理解:改变图像对比度,让色彩更丰富,灰度值直方图:瘦高 - 均衡 本质上,直方图均衡

    2024年01月18日
    浏览(18)
  • 【数字图像处理】直方图均衡化

    【数字图像处理】直方图均衡化

    直方图均衡化是一种常见的图像增强方法,可以增强图像的对比度。其数学原理如下: 首先,我们需要了解直方图的概念。直方图是对图像像素分布的一种统计,它将每个像素值出现的次数记录下来,并以图形的方式呈现出来。在一幅图像中,像素值的范围通常是有限的。例

    2023年04月13日
    浏览(12)
  • OpenCV10-图像直方图:直方图绘制、直方图归一化、直方图比较、直方图均衡化、直方图规定化、直方图反射投影

    图像直方图就是统计图像中每个灰度值的个数,之后将灰度值作为横轴,以灰度值个数或者灰度值所占比率作为纵轴的统计图。通过直方图,可以看出图像中哪些灰度值数目较多,哪些较少,可以通过一定的方法将灰度值较为集中的区域映射到较为稀疏的区域,从而使图像在

    2024年01月16日
    浏览(12)
  • 【MATLAB图像处理】直方图均衡化

    【MATLAB图像处理】直方图均衡化

    直方图均衡化有以下几个好处: 增强图像对比度:直方图均衡化可以通过重新分配像素值来增强图像的对比度。这可以使得图像中的细节更加清晰可见,从而提高图像的质量和可读性。 均衡化图像亮度:直方图均衡化可以将图像的亮度均衡化,使得图像的整体亮度更加均匀

    2024年02月08日
    浏览(12)
  • FPGA图像处理仿真实验——直方图均衡化

    FPGA图像处理仿真实验——直方图均衡化

    直方图均衡化实验,主要包括三部分,直方图统计、计算累加直方图、均衡化。 1、直方图统计        直方图统计就是记录每个灰度值在图片中出现的像素次数,灰度图片有0-255个灰度级,如果我们定义256个寄存器来存储数据比较麻烦,所以借用RAM来实现直方图统计。当输入

    2024年02月07日
    浏览(49)
  • 数字图像处理实验(直方图均衡化&规定化)

    数字图像处理实验(直方图均衡化&规定化)

    图像均衡化   图像均衡化是一种图像处理技术,它的目的是改善图像的对比度。   具体来说,对于一张图像,其直方图就是统计图像中各灰度级出现的次数的图像。通常情况下,图像的直方图会呈现不平衡的状态,即图像的某些灰度级出现的次数很多,而其它灰度级出现的

    2024年02月04日
    浏览(17)
  • 【数字图像处理】直方图均衡化与规定化

    【数字图像处理】直方图均衡化与规定化

    目录 直方图处理技术概述 直方图均衡化 公式推导  Matlab代码实现 图像的规定化 数学推导 单映射 Matlab代码 效果展示​编辑  组映射 Matlab代码 灰度级范围[0,L-1]的数字图像,在实际使用中,用哥灰度级的像素总数除以MN的整幅图像的像素数量,归一化到规律中进行计算,这样

    2023年04月26日
    浏览(11)
  • C#使用OpenCv(OpenCVSharp)图像直方图均衡化处理实例

    本文实例演示C#语言中如何使用OpenCv(OpenCVSharp)对图像进行直方图均衡化处理。 直方图均衡化原理 直方图均衡化(Histogram Equalization)是一种常用的图像增强技术,用于改善图像的对比度和亮度分布。它通过重新分配图像灰度级的像素值,使得图像的直方图在灰度范围内更加

    2024年02月07日
    浏览(55)
  • Python实现直方图均衡化

    Python实现直方图均衡化

    直方图均衡化: 作用:直方图均衡化是一种有效的图像增强技术,原始图像在灰度分布上可能集中在较窄的区间,造成图像不够清晰。采用直方图均衡化可以将原始图像的直方图变换为均匀分布,这样增加了像素之间的灰度值差别,从而达到增强图像整体对比度的效果。 具

    2024年02月11日
    浏览(28)
  • FPGA图像处理与直方图均衡化的综合应用:理论支撑、仿真波形与详细代码

    FPGA图像处理与直方图均衡化的综合应用:理论支撑、仿真波形与详细代码

    FPGA直方图均衡化 直方图拉伸 FPGA图像处理 工程和算法包含以下内容: 1,MATLAB中实现图像处理。 2,verilog代码利用MATLAB联合modelsim仿真实现的图像处理。 3,小梅哥AC620和正点原子新起点 开拓者的FPGA板卡上实现的图像处理。 4,效果展示。 有理论支撑,有仿真波形,有详细代

    2024年04月27日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包