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

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

相关推荐
whaosoft-14314 小时前
51c视觉~合集55
人工智能
AI营销快线14 小时前
2025年AI营销内容生产革命:成本减半,效率倍增的关键
人工智能
正在走向自律14 小时前
AiOnly平台x FastGPT:一键调用Gemini 3 Pro系列模型从零构建AI工作流
大数据·数据库·人工智能·aionly·nano banana pro·gemini 3 pro
沃斯堡&蓝鸟15 小时前
DAY22 推断聚类后簇的类型
人工智能·机器学习·聚类
老蒋新思维15 小时前
创客匠人 2025 万人峰会实录:AI 智能体重构创始人 IP 变现逻辑 —— 从 0 到年入千万的实战路径
大数据·网络·人工智能·tcp/ip·创始人ip·创客匠人·知识变现
这张生成的图像能检测吗15 小时前
(论文速读)MoE-Adapters++: 过动态混合专家适配器实现更有效的视觉语言模型的持续学习
人工智能·自然语言处理·视觉语言模型·持续学习
数字冰雹15 小时前
数字孪生如何重塑数据中心运维新范式
大数据·人工智能
handuoduo123415 小时前
SITAN中avp必要性分析
人工智能·算法·机器学习
zl_vslam15 小时前
SLAM中的非线性优-3D图优化之相对位姿Between Factor右扰动(八)
人工智能·算法·计算机视觉·3d
TextIn智能文档云平台15 小时前
从散乱资料到智能知识库:基于TextIn与Coze的RAG实战
人工智能·pdf·知识库·rag·coze·文档解析