图像直方图的基本概念:
统计各个灰度级别在图像中的出现次数或概率,并用直方图显示出来,一般直方图显示图像数据时会以左暗又亮的分布曲线形式呈现出来。
且具有图像平移、旋转、缩放不变性等众多优点,直方图在进行图像计算处理时代价较小,所以经常用于图像处理。
Lena图像的灰度直方图和RGB直方图显示:
python程序实现,使用matplotlib模块绘制:
# -*- coding:utf-8 -*-
#本程序用于显示图片的直方图
import cv2 #导入opencv模块
import numpy as np
import matplotlib.pyplot as plt
print("Hellow word!") #打印“Hello word!”,验证模块导入成功
img = cv2.imread("lena.jpg") #导入图片,图片放在程序所在目录
cv2.namedWindow("imagshow", 2) #创建一个窗口
cv2.imshow('imagshow', img) #显示原始图片
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #转换为灰度图
plt.hist(gray.ravel(), 256, [0, 256]) #计算灰度直方图
plt.show()
# 蓝 绿 红
color = ('b', 'g', 'r')#颜色分量
for i, col in enumerate(c