灰度直方图是图像的一种统计表达,反映了该图中不同灰度级出现的统计概率。设图像具有L个灰度级,图像中的像素点的个数为n,它的第k个灰度级nk出现的次数为
出现概率为
1、绘制直方图
(1) Matplotlib绘制直方图
matplotlib.pyplot.hist(
x, bins=10, range=None, normed=False,
weights=None, cumulative=False, bottom=None,
histtype=u'bar', align=u'mid', orientation=u'vertical',
rwidth=None, log=False, color=None, label=None, stacked=False,
hold=None, **kwargs)
作用:绘制直方图
常用参数说明
x:数据集
bins:条形数
color:条状图的颜色(“r”,“g”,“y”,“c”)
density:是否以密度的形式显示
range:x轴的范围
bottom:y轴的起始位置
histtype:直方图的类型(“bar”:方形,“barstacked”:柱形,“step”:“未填充线条”,“stepfilled”:“填充线条”)
align:对齐方式(“left”:左,“mid”:中间,“right”:右)
orientation:直方图的方向(“horizontal”:水平,“vertical”:垂直)
log:单位是否以科学计术法
numpy.ravel(a, order)
# ravel()
作用:将多维数组降为一维数组
a:要进行改变形状的数组
order:order参数可以是C_contiguous或F_contiguous,其中C order对数组进行行上涨,而F order对列进行操作
import cv2
import matplotlib.pyplot as plt
import numpy as np
# 绘制直方图-Matplotlib
img = cv2.imread