直方图是一种对图像亮度分布的统计表示,它显示了图像中每个灰度级别的像素数量。在OpenCV中,你可以使用cv2.calcHist()
函数计算直方图。
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread(r"C:UsersmzdDesktopopencv2.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 库,可以根据需要选择其他绘图工具。
直方图有助于理解图像的亮度分布,可以用于调整图像的对比度、亮度等。
原文地址:https://blog.csdn.net/weixin_42367888/article/details/134548234
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_7203.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。