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

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

相关推荐
龙腾AI白云几秒前
数字孪生:与人工智能融合的技术图景
大数据·数据库·人工智能·知识图谱
通信大模型2 分钟前
VLA模型与世界模型的协同:面向低空无线网络的Embodied Agentic AI 框架
人工智能·深度学习·信息与通信
艾派森6 分钟前
深度学习实战-基于EfficientNetB0的鞋类品牌图像分类模型
人工智能·深度学习·分类
LDG_AGI7 分钟前
【口袋专家AI公开课】从0到1智能体开发:数据专家Agent原理与实战
人工智能
wespaul8 分钟前
VeapAI 自然语言操作实战|第 00 篇:全体系全景——从附件到智能体的分层与边界
大数据·人工智能·milvus
镜象科技10 分钟前
AI心理一体机怎么选?先分清三类东西,再谈比较
人工智能
枫叶丹410 分钟前
AGENTS.md 越写越长之后:如何管理 AI 的上下文
人工智能·chatgpt·开源·agent·codex
GeWeAPI技术支持12 分钟前
个人微信API二次开发:如何给消息回调增加异常日志和排查线索
人工智能·微信
武子康14 分钟前
ESP32 唤醒词标称 98%,为什么还要自己做验收?
人工智能·后端·agent
JAVA老架构AI智能化14 分钟前
PPT Master Lite — 浏览器端 AI 驱动的 PPT 生成器
人工智能·powerpoint