美文网首页
opencv笔记(9):灰度直方图

opencv笔记(9):灰度直方图

作者: 寻风浪 | 来源:发表于2019-07-16 09:11 被阅读0次

    生活就像大海,我就像一条咸鱼,在浩瀚的海洋中边浪边学,这是opencv笔记系列中的「灰度直方图」。

    灰度直方图,统计每个灰度像素出现的概率。小编边浪边学,顺带以很咸鱼的方式把它们记录下来。

    原图如下,美得不忍直视


    浪学

    首先读入原图像,把它转换成灰度图,并显示出来

    import cv2
    import numpy as np
    import matplotlib.pyplot as plt
    img = cv2.imread('test1.jpg',1)
    height = img.shape[0]
    width = img.shape[1]
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    cv2.imshow('gray',gray)
    cv2.waitKey(0)
    
    浪学

    然后统计0~255之间的每个灰度像素出现的概率,并使用plt.bar()显示出来

    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(256):
        count[i] = count[i] / (height * width)
    x = np.linspace(0,255,256)
    y = count
    plt.bar(x,y,0.9,alpha=1, color='b')
    plt.show()
    

    显示的灰度直方图如下

    浪学

    今天的笔记就记录这么多了,其它的记录在下一篇笔记中。阿浪已经拿起了报纸,泡着柠檬蜜,继续看前天的新闻。

    相关文章

      网友评论

          本文标题:opencv笔记(9):灰度直方图

          本文链接:https://www.haomeiwen.com/subject/xczakctx.html