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

2019-07-16  本文已影响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()

显示的灰度直方图如下

浪学

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

上一篇 下一篇

猜你喜欢

热点阅读