码迷,mamicode.com
首页 > 其他好文 > 详细

5-7 灰度直方图均衡化

时间:2018-10-05 14:03:23      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:jpg   之间   分享   百分比   otl   wait   ros   ima   info   

总共256个灰度等级,每一个灰度等级它都会有一个概率,同时也都会有一个累计概率。

比如说100这个灰度等级,它的累计概率是0.5,这个新的值我们就可以制作一个100到这个新值之间的映射。以后所有的灰度等级为100的像素我们直接就用255*0.5这个new,这个新的像素来替代。替代完之后那么整体这个过程就叫做直方图的均衡化。

count的内容记录的是0-255总共256个灰度等级。每一个灰度等级出现的像素的个数然后除以总体像素的个数那么就是每一个灰度等级它们像素所占用的百分比,也就是它们概率。

概率求出来之后我们计算累计概率。

 

# 本质: 统计每个像素灰度 出现的概率 0-255 p
# 累计概率
# 1 0.2 0.2 第一个灰度等级它出现的概率是0.2
# 2 0.3 0.5 第二个灰度等级它出现的概率是0.3
# 3 0.1 0.6 第三个灰度等级它出现的概率是0.1
# 256
# 100 0.5 255*0.5 = new 



import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread(image0.jpg,1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
count = np.zeros(256,np.float)
for i in range(0,height):
    for j in range(0,width):
        pixel = gray[i,j]
        index = int(pixel)
        count[index] = count[index]+1
for i in range(0,255):
    count[i] = count[i]/(height*width)
# 计算累计概率
sum1 = float(0)
for i in range(0,256):
    sum1 = sum1+count[i]
    count[i] = sum1
print(count)

cv2.waitKey(0)

这就是每一个像素点出现的概率。

技术分享图片

技术分享图片

 

5-7 灰度直方图均衡化

标签:jpg   之间   分享   百分比   otl   wait   ros   ima   info   

原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/9744585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!