opencv-直方图

直方图是一种对图像亮度分布的统计表示,它显示了图像中每个灰度级别的像素数量。在OpenCV中,你可以使用cv2.calcHist() 函数计算直方图。

以下是一个简单的示例,演示如何计算和绘制图像的直方图:

python 复制代码
 import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread(r"C:\Users\mzd\Desktop\opencv\2.jpg", cv2.IMREAD_GRAYSCALE)
# 计算直方图
hist = cv2.calcHist([img], [0], None, [256], [0, 256])

# 绘制直方图
plt.plot(hist)
plt.title('Histogram')
plt.xlabel('Pixel Value')
plt.ylabel('Frequency')
plt.show()

# 显示原始图像
cv2.imshow('Image', img)

# 等待用户按下任意键
cv2.waitKey(0)
cv2.destroyAllWindows()

在这个示例中,cv2.calcHist() 函数用于计算图像的直方图。它的参数包括:

  • [img]: 输入图像,可以是多通道图像,但在这里我们使用灰度图像。
  • [0]: 通道索引,对于灰度图像只有一个通道,所以使用 0。
  • None: 掩码,通常设置为 None。
  • [256]: 直方图的 bin 数量,表示灰度级别的数量。
  • [0, 256]: 像素值的范围。

绘制直方图使用了 Matplotlib 库,可以根据需要选择其他绘图工具。

直方图有助于理解图像的亮度分布,可以用于调整图像的对比度、亮度等。

相关推荐
byzh_rc6 分钟前
[机器学习-从入门到入土] 拓展-范数
人工智能·机器学习
小王毕业啦9 分钟前
2003-2023年 285个地级市邻接矩阵、经济地理矩阵等8个矩阵数据
大数据·人工智能·数据挖掘·数据分析·数据统计·社科数据·实证数据
guts35012 分钟前
【anylogic】论文简单复现记录和论文重要部分摘录(售票厅)
人工智能
安达发公司15 分钟前
安达发|石油化工行业自动排产软件:驱动产业升级的核心引擎
大数据·人工智能·aps高级排程·aps排程软件·安达发aps·自动排产软件
openFuyao17 分钟前
参与openFuyao嘉年华,体验开源开发流程,领视频年卡会员
人工智能·云原生·开源·开源软件·多样化算力
摸鱼仙人~18 分钟前
跨文化范式迁移与数字经济重构:借鉴日本IP工业化经验构建中国特色现代文化产业体系深度研究报告
大数据·人工智能
皮肤科大白19 分钟前
图像处理的 Python库
图像处理·人工智能·python
摸鱼仙人~26 分钟前
中国内需市场的战略重构与潜在增长点深度研究报告
大数据·人工智能
一招定胜负26 分钟前
自然语言处理CBOW模型:基于上下文预测中间词
人工智能·深度学习·机器学习
jimmyleeee28 分钟前
人工智能基础知识笔记三十二:向量数据库的查找类型和工作原理
人工智能·笔记