用calcHist()函数查找直方图

简介: 用calcHist()函数查找直方图。

可使用OpenCV的cv2.calcHist()函数查找直方图,再利用matplotlib.pyplot的plot()函数绘制直方图。
cv2.calcHist()函数的基本格式如下。
hist=cv2.calcHist(image,channels,mask,histSize,ranges)
参数说明如下。
hist为返回的直方图,是一个一维数组,其大小为256,保存了原图像中各个灰度级的数量。
image为原图像,实际参数需用方括号括起来。
channels为通道编号。灰度图像的通道编号为[0],BGR图像的通道编号为[0][1][2]。
mask为掩模图像,为None时统计整个图像,否则统计部分图像。
histSize为BINS的值,实际参数需用方括号括起来,如[256]。
ranges为像素值范围,8位灰度图像为[0,255]。
示例代码如下。

test6-2.py:查找和绘制直方图

import cv2
import matplotlib.pyplot as plt
img=cv2.imread('gate.jpg') #读取图像
cv2.imshow('original',img) #显示原图像
histb=cv2.calcHist([img],[0],None,[256],[0,255]) #计算B通道直方图
histg=cv2.calcHist([img],[1],None,[256],[0,255]) #计算G通道直方图
histr=cv2.calcHist([img],[2],None,[256],[0,255]) #计算R通道直方图
plt.plot(histb,color='b') #绘制B通道直方图,蓝色
plt.plot(histg,color='g') #绘制G通道直方图,绿色
plt.plot(histr,color='r') #绘制R通道直方图,红色
plt.show() #显示直方图

目录
相关文章
|
6月前
|
计算机视觉
查找和绘制直方图
【6月更文挑战第12天】查找和绘制直方图。
81 1
|
6月前
|
BI 测试技术 索引
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)-1
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)
|
6月前
|
计算机视觉
用calcHist()函数查找直方图
【6月更文挑战第7天】用calcHist()函数查找直方图。
76 2
|
6月前
|
Python
查找轮廓
【6月更文挑战第25天】查找轮廓。
35 1
|
6月前
|
存储 API C语言
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)-2
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)
|
7月前
|
数据挖掘 计算机视觉 Python
Python实现对规整的二维列表中每个子列表对应的值求和
Python实现对规整的二维列表中每个子列表对应的值求和
74 0
|
索引 Python
python 对一组list数据,进行区间划分,按照大小排序并返回索引值
最近在对海洋数据进行处理时,对数据需要进行一些排序,数据匹配等操作; 现对我所希望实现的一些函数进行总结:
python 对一组list数据,进行区间划分,按照大小排序并返回索引值
|
存储 开发者
R 数据框、因子和列表|学习笔记
向量,矩阵和数组,它们共同的特点就是它们中的数据只能拥有一组模式,也就是可以尝试字符型,也可以尝试数值类型,但是不允许在一个向量中即出现字符型也出现数值型,如果一个数据类型中即想放数值型,也想放字符型,也就是不同的模式的数据,应该用什么样的方式进行存储?数据框就可以存放不同类型的数据。
141 0
R 数据框、因子和列表|学习笔记
PIE-engine 教程 ——矢量集合的循环计算使用for循环(中国各省市面积统计)
PIE-engine 教程 ——矢量集合的循环计算使用for循环(中国各省市面积统计)
134 0
PIE-engine 教程 ——矢量集合的循环计算使用for循环(中国各省市面积统计)
|
Python
Python经典编程习题100例:第44例:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵
Python经典编程习题100例:第44例:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵
307 0