查找和绘制直方图

简介: 【6月更文挑战第12天】查找和绘制直方图。

可使用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]。
示例代码如下。

查找和绘制直方图

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() #显示直方图

相关文章
|
算法 测试技术 C++
C++算法:柱状图中最大的矩形
C++算法:柱状图中最大的矩形
查找并绘制轮廓
查找并绘制轮廓
46 0
|
2月前
R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
【9月更文挑战第9天】在R语言中,利用`ggplot2`包可绘制多系列柱状图与直方图。首先读取数据文件`data.csv`,加载`ggplot2`包后,使用`ggplot`函数指定轴与填充颜色,并通过`geom_bar`或`geom_histogram`绘图。参数如`stat`, `position`, `alpha`等可根据需要调整,实现不同系列的图表展示。
|
5月前
|
计算机视觉
用calcHist()函数查找直方图
【6月更文挑战第7天】用calcHist()函数查找直方图。
62 2
|
5月前
|
存储 Cloud Native Linux
OpenCV多边形填充与绘制
OpenCV多边形填充与绘制
|
6月前
|
存储 计算机视觉 索引
【OpenCV】-查找并绘制轮廓
【OpenCV】-查找并绘制轮廓
|
6月前
|
数据可视化
绘制GGPLOT2双色XY区间面积图组合交叉折线图数据可视化
绘制GGPLOT2双色XY区间面积图组合交叉折线图数据可视化
试题:最大的矩形(给定直方图里面积最大的矩形)
试题:最大的矩形(给定直方图里面积最大的矩形)
|
6月前
[Qt5] 矩形、圆和多边形ROI区域的交互(List View列表视图,halcon实现)
[Qt5] 矩形、圆和多边形ROI区域的交互(List View列表视图,halcon实现)
142 0
R语言绘制组间比较散点图并自动添加P值信息
查询ggprism包使用时候发现官网给出的一示例图比较常用,这里记录学习一下。
216 3