生活就像大海,我就像一条咸鱼,在浩瀚的海洋中边浪边学,这是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()
显示的灰度直方图如下
浪学今天的笔记就记录这么多了,其它的记录在下一篇笔记中。阿浪已经拿起了报纸,泡着柠檬蜜,继续看前天的新闻。
网友评论