绘制图像直方图 matplotlib

        直方图显示了不同数值的像素出现的次数。在 Matplotlib 中有 hist() 函数提供了绘制直方图的接口。

        我们使用 Matplotlib 来绘制 paojie.jpg 的直方图吧!


代码:

import cv2
import numpy as np
import matplotlib.pyplot as plt

# Gray scale
def BGR2GRAY(img):
	b = img[:, :, 0].copy()
	g = img[:, :, 1].copy()
	r = img[:, :, 2].copy()

	# Gray scale
	out = 0.2126 * r + 0.7152 * g + 0.0722 * b
	out = out.astype(np.uint8)

	return out

# Read image
img = cv2.imread("../paojie.jpg").astype(np.float)
# BGR2GRAY
img = BGR2GRAY(img)
# Display histogram
# numpy中的ravel() 将多维数组转换为一维数组,不会产生副本
plt.hist(img.ravel(), bins=255, rwidth=0.8, range=(0, 255))
plt.xlabel('Gray value') 
plt.ylabel('number') 
plt.title(r'Histogram of paojie.jpg')
plt.savefig("out.jpg")
plt.show()

 


实验结果:

BGR图像转换为灰度图像后 ↑

实验输出结果 ↑


参考内容:

        https://www.jianshu.com/p/8fe1a7c2458f

        https://www.cnblogs.com/wojianxin/p/12509197.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值