OpenCV图像处理应用(面向Python)之直方图

OpenCV图像处理应用(面向Python)

  • 欢迎来到梁老湿课堂
  • 1.直方图的含义
  • 直方图的实现

欢迎来到梁老湿课堂

版权声明:
作者:OpenCV小课堂
导师:Fu Xianjun
本文版权归作者导师共有,欢迎转载,但未经作者同意必须在文章页面注明来源及原作者或原文链接,否则保留追究法律责任的权利。

1.直方图的含义

从统计的角度讲,直方图是图像内灰度值的统计于图像灰度之间的函数,直方图统计图像内各个灰度级出现的次数。从直方图的图形上观察,横坐标是图像中各个图像中各像素点的灰度级,纵坐标是具有该灰度级(像素值)的像素个数。
下方右上角就是一张图片的直方图啦

直方图的实现

OpenCV中提供了 cv2.calcHist() 用来计算图像的统计直方图

hist=cv2.calcHist(img,channels,mask,histSize,ranges,accumulate)

1. hist: 返回的统计直方图是一个一维数组,组内的元素是各个灰度级的像素个数。
2. img: 原始图像。
3. channels: 指定 通道编号
4. mask: 掩模图像。
5. histSize: BINS的值。该值需要使用"[]“括起来。例如,BINS的值是256,需要用”[256]"作为此参数值。
6. ranges: 像素范围。
7. accumulate: 累计(累加、叠加)标识,默认值为False。

import cv2
import numpy as np
img=cv2.imread("qqq.jpg")
hist=cv2.calcHist([img],[0],None,[256],[0,255])#此块为重点
print(type(hist))
print(hist.shape)
print(hist.size)
print(hist)

你可能感兴趣的:(Python--OpenCV,opencv,图像识别,cv,计算机视觉)