1,直方图
横坐标——图像中各个像素的灰度级
纵坐标——具有该灰度级像素的个数
2,归一化直方图:
横坐标:图像中各个像素的灰度级
纵坐标:出现该灰度级的概率
3,参数
DIMS----使用参数的数量(维度)
BINS-----参数子集的数目(对自变量分组的情况描述)
RANGE----统计灰度值的范围,一般为(0~255)。最小值:0,黑色;最大值:255,白色;(越深的颜色灰度值越小)
绘制直方图:
- 利用python库函数:matplotlib数据包:
- hist函数:语法:hist(数据源,像素级)
- 数据源:图像,必须是一维数组;一维数组=朵唯数组.ravel()————将二维数组转化为一维数组
- 像素级一般是256
-
import cv2
import matplotlib.pyplot as plt
o=cv2.imread("G:\\photo\\blog\\img\\waterbox.jpg")
cv2.imshow("original",o)
plt.hist(o.ravel(),256)
plt.show()
cv2.waitKey()
cv2.destroyAllWindows()
- hist函数:语法:hist(数据源,像素级)
- 利用opencv里的函数统计直方图:
- calchist函数:语法:
- plt.plot(“img”)
- plt.show()
- 直方图均值化:
- 前提:如果一副图像占有全部可能的灰度级,并且均匀分布
- 结论:该图像具有高对比度和多变的灰度色调
- 外观:图像细节丰富,质量更高。
- 原理:
- 计算累计直方图
- 将累计直方图进行区间转换
- 在累计直方图中,概率相近的原始值,会被处理为相同的值
- subpolt函数:
- 在一个界面里面显示几张图片
- subplot(nrows,ncols,plot_number)