数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
来源:互联网 发布:国家顶级域名us 编辑:程序博客网 时间:2024/05/21 14:53
我们来看一个灰度图像,让表示灰度出现的次数,这样图像中灰度为 的像素的出现概率是
是图像中所有的灰度数, 是图像中所有的像素数, 实际上是图像的直方图,归一化到 。
把 作为对应于 的累计概率函数, 定义为:
是图像的累计归一化直方图。
我们创建一个形式为 的变化,对于原始图像中的每个值它就产生一个 ,这样 的累计概率函数就可以在所有值范围内进行线性化,转换公式定义为:
注意 T 将不同的等级映射到 域,为了将这些值映射回它们最初的域,需要在结果上应用下面的简单变换:
上面描述了灰度图像上使用直方图均衡化的方法,但是通过将这种方法分别用于图像RGB颜色值的红色、绿色和蓝色分量,从而也可以对彩色图像进行处理。
- Python: cv2.equalizeHist(src[, dst]) → dst
- C: void cvEqualizeHist(const CvArr* src, CvArr* dst)
Parameters: - src – Source 8-bit single channel image.
- dst – Destination image of the same size and type as src .
The function equalizes the histogram of the input image using the following algorithm:
Calculate the histogram for src .
Normalize the histogram so that the sum of histogram bins is 255.
Compute the integral of the histogram:
Transform the image using as a look-up table:
The algorithm normalizes the brightness and increases the contrast of the image.
# -*- coding: utf-8 -*- #code:myhaspl@myhaspl.comimport cv2fn="test1.jpg"myimg=cv2.imread(fn)img=cv2.cvtColor(myimg,cv2.COLOR_BGR2GRAY)newimg=cv2.equalizeHist(img)cv2.imshow('src',img)cv2.imshow('dst',newimg)cv2.waitKey()cv2.destroyAllWindows()
本博客所有内容是原创,如果转载请注明来源
http://blog.csdn.net/myhaspl/
下面右图是经过增强化的图
直方图均衡化通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度
本博客所有内容是原创,如果转载请注明来源
http://blog.csdn.net/myhaspl/
下面部分代码验证实现了算法
# -*- coding: utf-8 -*- #code:myhaspl@myhaspl.com#直方图均衡化import cv2import numpy as npfn="test5.jpg"myimg=cv2.imread(fn)img=cv2.cvtColor(myimg,cv2.COLOR_BGR2GRAY)h=img.shape[0]w=img.shape[1]newimg=np.zeros((h,w),np.uint8)scount=0.0#原始图像灰度级scol={}#目标图像灰度级dcol={}#原始图像频度Ps={}#累计概率Cs={}#统计原始图像灰度级for m in xrange(h): for n in xrange(w): scol[img[m,n]]=scol.setdefault(img[m,n],0)+1 scount+=1
下图左为源图,右图为进行直方图均衡化后的图
0 0
- 数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
- 数学之路-python计算实战(11)-机器视觉-图像增强
- 数学之路-python计算实战(12)-机器视觉-图像增强
- 数学之路-python计算实战(13)-机器视觉-图像增强
- 数学之路-python计算实战(11)-机器视觉-图像增强
- 数学之路-python计算实战(7)-机器视觉-图像产生加性零均值高斯噪声
- 数学之路-python计算实战(8)-机器视觉-图像二值化
- 数学之路-python计算实战(9)-机器视觉-图像插值仿射
- 图像增强之直方图均衡化
- 图像增强之直方图均衡化
- 图像增强之(一)---直方图均衡化
- 图像增强之02直方图均衡化
- 数学之路-python计算实战(10)-机器视觉-透视投影
- 数学之路-python计算实战(15)-机器视觉-滤波去噪(归一化块滤波)
- 数学之路-python计算实战(16)-机器视觉-滤波去噪(邻域平均法滤波)
- 数学之路-python计算实战(17)-机器视觉-滤波去噪(中值滤波)
- 数学之路-python计算实战(19)-机器视觉-卷积滤波
- 数学之路-python计算实战(20)-机器视觉-拉普拉斯算子卷积滤波
- 暑期大作战第四天
- searchcode 代码搜索引擎及使用
- 设计模式之MVC模式
- 实现RTP协议的H.264视频传输系统
- 广搜 象棋格
- 数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
- 【2-sat】uva1391
- 页面标签语义化
- 来帝都的时间
- java编程之--当类的访问器邂逅可变对象成员时
- C语言---基础概念和常识
- 一个小小的笔顺程序,按钮太多,暂时实现了两个
- 定期整理博客
- 操作系统的页面置换C++算法:OPT FIFO LRU CLOCK 计算缺页率