NumPy中的直方图

简介: 【6月更文挑战第12天】NumPy中的直方图。

NumPy的histogram()函数可用于计算直方图,其基本格式如下。
hist,bin_edges=np.histogram(src,bins,range)
参数说明如下。
hist返回的直方图。
bin_edges为返回的灰度级分组数量边界值。
src为原图转换成的一维数组。
bins为灰度级分组数量。
range为像素值范围。

示例代码如下。

NumPy中的直方图

import cv2
import numpy as np
import matplotlib.pyplot as plt
img=cv2.imread('gate.jpg') #读取图像
cv2.imshow('original',img) #显示原图像
histb,e1=np.histogram(img[0].ravel(),256,[0,256]) #计算B通道直方图
histg,e2=np.histogram(img[1].ravel(),256,[0,256]) #计算G通道直方图
histr,e3=np.histogram(img[2].ravel(),256,[0,256]) #计算R通道直方图
plt.plot(histb,color='b') #绘制B通道直方图,蓝色
plt.plot(histg,color='g') #绘制G通道直方图,绿色
plt.plot(histr,color='r') #绘制R通道直方图,红色
plt.show() #显示直方图

相关文章
|
13天前
|
Python
应用掩模的直方图
【6月更文挑战第12天】应用掩模的直方图。
11 1
|
1月前
|
数据可视化 Linux Python
NumPy 随机数据分布与 Seaborn 可视化详解
数据分布是指数据集中所有可能值出现的频率,并用概率来表示。它描述了数据取值的可能性。 Seaborn 是一个基于 Matplotlib 的 Python 数据可视化库,用于创建统计图表。它提供了一系列高级绘图函数,可以轻松创建美观且信息丰富的统计图形。
|
13天前
|
Python
NumPy中的二维直方图
【6月更文挑战第12天】NumPy中的二维直方图。
9 1
|
26天前
|
Python
NumPy中的直方图
NumPy中的直方图。
18 3
|
25天前
|
机器学习/深度学习 数据采集 数据可视化
NumPy 正态分布与 Seaborn 可视化指南
该文档介绍了正态分布(高斯分布),包括它的简介、特征、生成正态分布数据的方法(使用 NumPy 的 `random.normal()` 函数)、如何用 Seaborn 可视化正态分布,以及正态分布的应用(如统计学、机器学习、金融和工程)。还提供了一些练习,如生成特定参数的正态分布随机数并绘图,以及比较不同标准差下的分布形状。最后,给出了练习的解决方案,展示了如何执行这些任务。
|
26天前
|
数据可视化 Python
NumPy 泊松分布模拟与 Seaborn 可视化技巧
泊松分布是描述单位时间间隔内随机事件发生次数的离散概率分布,参数λ表示平均速率。公式为 P(k) = e^(-λ) (λ^k) / k!。NumPy 的 `random.poisson()` 可生成泊松分布数据。当 λ 很大时,泊松分布近似正态分布。练习包括模拟顾客到达、比较不同 λ 下的分布及模拟电话呼叫中心。使用 Seaborn 可进行可视化。关注公众号 `Let us Coding` 获取更多文章。
40 1
|
26天前
|
数据可视化 Python
NumPy 二项分布生成与 Seaborn 可视化技巧
二项分布是描述固定次数独立试验中成功次数的概率分布,常用于分析如抛硬币、选择题等二元结果事件。分布由试验次数 n、每次试验的成功概率 p 和成功次数 k 定义。公式为 P(k) = C(n, k) * p^k * (1 - p)^(n - k)。NumPy 的 `random.binomial()` 可生成二项分布随机数,Seaborn 可用于可视化分布。当 n 很大且 p 接近 0.5 时,二项分布近似正态分布。练习包括模拟不同条件下的成功次数分布、比较不同试验次数的影响以及应用二项分布在考试成绩和及格率计算上。
|
1月前
|
运维 计算机视觉
三直方图
三直方图
21 1
|
1月前
|
Python
matplotlib-直方图
matplotlib-直方图
|
1月前
|
计算机视觉 索引
【OpenCV】直方图计算 & 均衡化直方图
【OpenCV】直方图计算 & 均衡化直方图