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 库,可以根据需要选择其他绘图工具。

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

相关推荐
WenGyyyL3 分钟前
基于昇腾平台的Qwen大模型推理部署实战:从模型转换到推理(含代码)
人工智能·python·语言模型·nlp·昇腾
Eric.Lee20214 分钟前
ultralytics-yolo-webui 项目介绍及使用演示
人工智能·计算机视觉·目标跟踪·yolo目标检测·yolo-webui
AI魔王进化论.6 分钟前
Transformer、强化学习融合?解决序列决策优化难题!!!
人工智能·深度学习·transformer
新加坡内哥谈技术13 分钟前
如何在追求正确性的过程中,意外让路由匹配性能提升 20,000 倍
人工智能
代码小白的成长13 分钟前
Windows: 调试基于千万短视频预训练的视频分类模型(videotag_tsn_lstm)
人工智能·rnn·lstm
北京青翼科技13 分钟前
【PCIE044】基于复旦微 JFM7VX690T 的全国产化 FPGA 开发套件
图像处理·人工智能·fpga开发·信号处理·智能硬件
智算菩萨17 分钟前
《自动驾驶与大模型融合新趋势:端到端感知-决策一体化架构分析》
人工智能·架构·自动驾驶
8K超高清20 分钟前
超高清科技引爆中国电影向“新”力
大数据·运维·服务器·网络·人工智能·科技
申耀的科技观察23 分钟前
【观察】为AI就绪筑基,为产业智能引路,联想凌拓铺就AI规模化落地通途
人工智能·百度
y***031726 分钟前
深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna)
人工智能·sql·开源