OpenCV图像处理应用(面向Python)之直方图
Posted I need money
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV图像处理应用(面向Python)之直方图相关的知识,希望对你有一定的参考价值。
欢迎来到梁老湿课堂
思想如钻子,必须集中在一点钻下去才有力量。(本次课程素材都来源于我的专业课老师小傅,他的课形象生动,他所掌握的知识点犹如大海一般,他最擅长用简单、通俗易懂的语言让我们记住知识点。我只是一个搬运工、打工人。我只是站在他的肩膀上发文章!)
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. 灰度变换与直方图处理