直方图理解(opencv_python学习)

直方图-1:查找、绘制和分析

直方图是图像处理中一种用于可视化图像像素值分布的工具。
它是在X轴上具有像素值(不总是从0到255的范围),在Y轴上具有图像中相应像素数的图。
以下是关于直方图的一些常见操作:

查找直方图:
使用OpenCV函数cv.calcHist()可以计算图像的直方图。该函数接受图像数组、通道索引、掩码(可选)和直方图的参数(如直方图的大小和范围),并返回计算得到的直方图。

绘制直方图:
使用OpenCV函数cv.plot.hist()可以绘制直方图。该函数接受直方图数据和其他绘图参数,并在窗口或图像上绘制直方图。
在这里插入图片描述

分析直方图:
通过观察直方图,可以了解图像的像素值分布情况。例如,可以通过查看直方图的峰值来判断图像的主要颜色或亮度。也可以根据直方图的形状来判断图像的对比度或亮度范围。

直方图均衡

提高图像对比度。它通过重新分配图像的像素值,使图像中的像素值更加均匀地分布在整个范围内,从而增强图像的细节和对比度。在OpenCV中,可以使用cv.equalizeHist()函数来执行直方图均衡化操作。

img = cv.imread('wiki.jpg',0)
equ = cv.equalizeHist(img)
res = np.hstack((img,equ)) #stacking images side-by-side
cv.imwrite('res.png',res)

在这里插入图片描述

在这里插入图片描述

二维直方图

二维直方图用于表示图像中两个通道的像素值分布。它可以帮助我们了解两个通道之间的关系,例如颜色空间中的红色和绿色通道之间的相关性。OpenCV提供了cv.calcHist()函数的变体cv.calcHist([img1, img2], channels, mask, histSize, ranges)用于计算二维直方图。

hsv = cv.cvtColor(img,cv.COLOR_BGR2HSV)
hist = cv.calcHist( [hsv], [0, 1], None, [180, 256], [0, 180, 0, 256] )

在这里插入图片描述

直方图反投影

直方图反投影是一种用于在图像中找到与给定直方图相似度最高的区域的技术。它通过比较测试图像的像素值与给定直方图的对应条目,并将相似度信息映射到输出图像中。在OpenCV中,可以使用cv.calcBackProject()函数来执行直方图反投影操作。

示例:将蓝色矩形内的区域用作示例对象,提取整个地面。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值