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

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

相关推荐
烤麻辣烫3 分钟前
AI(新手)
人工智能·学习·机器学习·ai编程
CoovallyAIHub7 分钟前
分割万事万物的AI,再进化!Meta SAM 3 来了,支持中文提示词!
深度学习·算法·计算机视觉
虹科网络安全9 分钟前
从AI模型到云生态:构建系统化的企业AI安全管理体系【系列文章(1)】
人工智能·安全
G***E31616 分钟前
机器学习特征选择方法
人工智能·机器学习
赋创小助手27 分钟前
英特尔确认取消 8 通道 Diamond Rapids:服务器 CPU 战局再度升级
服务器·图像处理·人工智能·深度学习·计算机视觉·自然语言处理·自动驾驶
用户51914958484533 分钟前
Rust 1.91.0 发布:新增平台支持与安全增强
人工智能·aigc
老鱼说AI34 分钟前
BPE编码从零开始实现pytorch
开发语言·人工智能·python·机器学习·chatgpt·nlp·gpt-3
lisw0541 分钟前
边缘计算与云计算!
大数据·人工智能·机器学习·云计算·边缘计算
飞哥数智坊44 分钟前
Gemini 3 到底牛不牛?我们实测复刻 macOS
人工智能·ai编程·gemini
G***技1 小时前
杰和 DN84 AI边缘计算盒:工业质检的“精准快”引擎
人工智能·边缘计算