OpenCV图像处理应用(面向Python)之直方图
Posted OpenCV小课堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV图像处理应用(面向Python)之直方图相关的知识,希望对你有一定的参考价值。
OpenCV图像处理应用(面向Python)
欢迎来到梁老湿课堂
版权声明:
作者: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)
以上是关于OpenCV图像处理应用(面向Python)之直方图的主要内容,如果未能解决你的问题,请参考以下文章
R语言与医学统计图形-14ggplot2几何对象之直方密度图
Python 大白从零开始 OpenCV 学习课-6. 灰度变换与直方图处理