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

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

相关推荐
90后小陈老师3 小时前
自律APP开发规划测评,个人感觉chatGPT最佳Claude其次
人工智能·chatgpt·ai编程
可触的未来,发芽的智生3 小时前
2025年终总结:智能涌现的思考→放弃冯诺依曼架构范式,拥抱“约束产生智能”
javascript·人工智能·python·神经网络·程序人生
todoitbo3 小时前
【TextIn大模型加速器 + 火山引擎】基于 Dify 构建企业智能文档中枢:技术文档问答+合同智审+发票核验一站式解决方案
人工智能·ocr·火山引擎·工作流·dify·textln·企业智能文档
生信碱移3 小时前
神经网络单细胞预后分析:这个方法直接把 TCGA 预后模型那一套迁移到单细胞与空转数据上了!竟然还能做模拟敲除与预后靶点筛选?!
人工智能·深度学习·神经网络·算法·机器学习·数据挖掘·数据分析
线束线缆组件品替网3 小时前
高可靠线缆工程实战:ElectronAix 德国工业线缆全解析
网络·人工智能·汽车·电脑·硬件工程·材料工程
rcc86283 小时前
开源RAG知识库平台深度解析
人工智能·开源
福客AI智能客服3 小时前
AI智能客服系统:增值服务行业的售后核心解决方案
大数据·人工智能
thubier(段新建)3 小时前
2025技术实践复盘:在沉淀中打磨,在融合中锚定AI协同新方向
大数据·人工智能
龙萱坤诺3 小时前
Sora-2 API 技术文档:创建角色接口
人工智能·aigc·ai视频·sora-2
ftpeak3 小时前
Burn:纯 Rust 小 AI 引擎的嵌入式物体识别之旅(一步不踩坑)
开发语言·人工智能·rust