当前位置: 首页 > 编程笔记 >

python 对一幅灰度图像进行直方图均衡化

晏经武
2023-03-14
本文向大家介绍python 对一幅灰度图像进行直方图均衡化,包括了python 对一幅灰度图像进行直方图均衡化的使用技巧和注意事项,需要的朋友参考一下
from PIL import Image
from pylab import *
from numpy import *


def histeq(im,nbr_bins = 256):
  """对一幅灰度图像进行直方图均衡化"""
  #计算图像的直方图
  #在numpy中,也提供了一个计算直方图的函数histogram(),第一个返回的是直方图的统计量,第二个为每个bins的中间值
  imhist,bins = histogram(im.flatten(),nbr_bins,normed= True)
  cdf = imhist.cumsum()  #
  cdf = 255.0 * cdf / cdf[-1]
  #使用累积分布函数的线性插值,计算新的像素值
  im2 = interp(im.flatten(),bins[:-1],cdf)
  return im2.reshape(im.shape),cdf


pil_im = Image.open('E:\Python\\fanwei.jpg')  #打开原图
pil_im_gray = pil_im.convert('L')   #转化为灰度图像
pil_im_gray.show()     #显示灰度图像

im = array(Image.open('E:\Python\\fanwei.jpg').convert('L'))
# figure()
# hist(im.flatten(),256)

im2,cdf = histeq(im)
# figure()
# hist(im2.flatten(),256)
# show()

im2 = Image.fromarray(uint8(im2))
im2.show()
# print(cdf)
# plot(cdf)
im2.save("junheng.jpg")

图1:原图的灰度图

图2:进行直方图均衡化后的图像

图3:原图灰度图的直方图

图4:进行直方图均衡化后的直方图

图5:灰度变换函数

以上就是python 对一幅灰度图像进行直方图均衡化的详细内容,更多关于python 直方图均衡化的资料请关注小牛知识库其它相关文章!

 类似资料:
  • 问题内容: 如何轻松地将NumPy数组中存储的多个灰度图像进行直方图均衡化? 我有这种4D格式的96x96像素NumPy数据: 问题答案: Moose指向此博客文章的评论相当不错。 为了完整起见,我在这里使用更好的变量名给出一个示例,并在问题中的4D数组中的1000张96x96图像上循环执行。它速度很快(在我的计算机上为1-2秒),只需要NumPy。

  • 本文向大家介绍Python cv2 图像自适应灰度直方图均衡化处理方法,包括了Python cv2 图像自适应灰度直方图均衡化处理方法的使用技巧和注意事项,需要的朋友参考一下 __author__ = 'Administrator' 均衡化前、后对比效果 以上这篇Python cv2 图像自适应灰度直方图均衡化处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程

  • 目标 在本节中, 我们将学习直方图均衡化的概念,并利用它来提高图像的对比度。 理论 考虑这样一个图像,它的像素值仅局限于某个特定的值范围。例如,较亮的图像将把所有像素限制在高值上。但是一幅好的图像会有来自图像所有区域的像素。因此,您需要将这个直方图拉伸到两端(如下图所示,来自wikipedia),这就是直方图均衡化的作用(简单来说)。这通常会提高图像的对比度。 我建议您阅读直方图均衡化上的Wiki

  • 图像的直方图显示像素的强度值的频率。在图像直方图中,轴表示灰度强度,轴表示这些强度的频率。 直方图均衡化提高了图像的对比度,以扩大语义范围。可以使用类的方法来均衡给定图像的直方图。以下是此方法的语法。 该方法接受以下参数 - src - 表示此操作的源(输入图像)的对象。 dst - 表示输出的类的一个对象(在均衡直方图之后获得的图像) 示例 以下程序演示如何均衡给定图像的直方图。 假定以下是上述

  • 目标 我们将学习直方图均衡的概念,并用它来改善我们的图片对比度。 理论基础 考虑像素值仅限于某个特定值范围的图像。例如,较亮的图像将所有像素限制在较高的值。但是一张好的图像将会具有来自图像所有区域的像素。所以你需要将这个直方图拉伸到两端,用简单的话来说,这就是直方图均衡化所能做到的。这通常会改善图像的对比度。 我建议你阅读关于直方图均衡化的维基百科页面,了解更多细节。它解释的很好而且有相当好的例子

  • 问题内容: 我正在尝试匹配两个图像的直方图(在MATLAB中,这是可以做到的) 使用 ). 标准Python库中是否有可用的等效函数?我已经 查看了OpenCV、scipy和numpy,但没有看到任何类似的功能。 问题答案: 我以前写过一个答案 这里解释如何做 图像直方图的分段线性插值 高光/中音/阴影的特定比率。 相同的基本原则是[直方图]的基础 匹配两人之间 图像。基本上,你要计算出你的源和目