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

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

相关推荐
逐米时代8 小时前
制造企业智能体趋势从单点应用走向协同智能
人工智能
Mark White8 小时前
具身智能论文伴读-第一期
人工智能·深度学习·语言模型
stonewl25998 小时前
2026化工行业 GHS/CLP 国产标签打印软件合规打印方案
大数据·人工智能·物联网
Wzx1980128 小时前
Redis&ES——Retriever的抽象实现
数据库·人工智能·redis·elasticsearch
A8ai_napiai8 小时前
Claude内部发现“J空间“:AI可解释性从“黑箱猜测“到“结构验证“
人工智能
xywww1689 小时前
AWS 账号权限怎么分:根用户和 IAM 用户区别及日常使用建议
大数据·开发语言·人工智能·python·gpt·云计算·aws
一键生成网站9 小时前
AI原型工具企业需求分析:私有化部署与安全协作选购指南
人工智能·安全·需求分析·
俞凡9 小时前
基于 Qwen 打造低幻觉千万级文档 RAG 流水线
人工智能
AI的探索之旅9 小时前
飞书里跟 AI 聊天,让 Hermes + LCEDA Pro 结合本地llmwiki理解电路
人工智能·飞书
极客笔记Jack9 小时前
企业级RAG知识库架构设计:从文档处理到检索优化的完整方案
人工智能